当前位置:  开发笔记 > 后端 > 正文

UISplitViewController:删除分隔线

如何解决《UISplitViewController:删除分隔线》经验,为你挑选了4个好方法。

在iPad上使用UISplitViewController时,在根视图和细节视图之间有一条黑色的垂直分隔线.有没有办法删除这一行?

谢谢



1> William T...:

@bteapot的优秀答案.我测试了它并且它可以工作,甚至摆脱了主/细节导航条之间的界限.

您可以在storyboard中通过向USplitViewController运行时属性添加"gutterWidth"键路径和值0来执行此操作.

在此输入图像描述



2> chintan adat..:

我有一些修改来回答(迪伦)的回答

在appDelegate中我们需要在spliteview控制器中添加图像而不是窗口

self.splitViewController.view.opaque = NO;  
imgView = [[UIImageView alloc] initWithImage:
        [UIImage imageNamed:@"FullNavBar.png"]];  
[imgView setFrame:CGRectMake(0, 0, 1024, 44)];  
[[self.splitViewController view] insertSubview:imgView atIndex:0]; 
[[self.splitViewController view] setBackgroundColor:[UIColor clearColor]];  

这里自我是AppDelegate的对象.

现在应用此主题的答案:iPhoneOS SDK - 从视图中删除角落舍入(iPad问题)回答(abs)

编辑上面的帖子的答案是

-(void) fixRoundedSplitViewCorner {  
     [self explode:[[UIApplication sharedApplication] keyWindow] level:0];  
}  
-(void) explode:(id)aView level:(int)level 
{

    if ([aView isKindOfClass:[UIImageView class]]) {
        UIImageView* roundedCornerImage = (UIImageView*)aView;
        roundedCornerImage.hidden = YES;
    }
    if (level < 2) {
        for (UIView *subview in [aView subviews]) {
            [self explode:subview level:(level + 1)];
        }
    }

    imgView.hidden = FALSE;
}

**使imgView.hidden为FALSE将imgView声明为AppDelegate.h文件**

别忘了叫这个

-(void)didRotateFromInterfaceOrientation:
        UIInterfaceOrientation)fromInterfaceOrientation
{
    [yourAppDelegate performSelector:@selector(fixRoundedSplitViewCorner) 
          withObject:NULL afterDelay:0];
}



3> Justin..:

chintan adatiya回答仅涵盖了角落和导航栏,但我发现了如何覆盖Master和Detail视图之间的界限.

这不是很好,但它的作用就像一个魅力.

    首先创建一个宽1 px,高704像素的图像.

    在didFinishLaunchingWithOptions中添加以下代码:

    UIView *coverView = [[UIView alloc] initWithFrame:CGRectMake(320, 44, 1, 704)];
    [coverView setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"divider_cover.png"]]];
    
    [splitViewController.view addSubview:coverView];
    

并做了.

当你想要一个继续创建3个图像的背景图像时:

主人:宽:320,身高:704

细节:宽度:703,高度:704

分隔线:宽度:1,高度:704



4> 小智..:

首先发帖,大家好.

我发现了如何意外地做到这一点...当我试图找到为什么我失去了分隔线.如果您仍然感兴趣,可以使用以下隐藏方法:

1)在Detail(右侧)视图中,确保您有一个跨越整个视图的子视图.

2)将此子视图视图偏移到(-1,0).

3)确保未选中详细信息视图的"剪辑子视图"选项.

Voilà,享受.

推荐阅读
和谐啄木鸟
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有