我有一个包含两个页面的 UIPageViewController
。第一个是自定义 UIViewController
,第二个是 UITableViewController
。该应用有一个 UINavigationController
和一个标签栏。
我想在 UIViewController
和 UITableViewController
周围设置一个框架或边框。我尝试了多种解决方案,但没有一个适合我的问题。
我试图在我的 UIPageViewController
中使用这段代码:
CGRect pageViewRect = self.view.bounds;
pageViewRect = CGRectInset(pageViewRect, 10.0, 10.0);
self.pageViewController.view.frame = pageViewRect;
框架很好,但是当用户更改页面时框架不会移动。
我尝试了另一种解决方案,即以这种方式设置 UITableView
周围的边框:
CALayer *layer = self.tableView.layer;
[layer setFrame:CGRectMake(52, 52, 50, 50)];
[layer setBorderWidth:52.0];
[layer setBorderColor:[[UIColor colorWithWhite: 0.8 alpha: 1.0] CGColor]];
[layer setMasksToBounds:YES];
在这种情况下,框架太大了,但只是一个例子。问题是框架总是在表格 View 上方并覆盖文本。
我只需要一个围绕自定义 View 的框架和一个在用户更改页面时移动的表格 View 。
如果您需要更多信息,请告诉我。
更新
我尝试了 LoVo 和 Mahesh Agrawal 提出的解决方案,但我尝试的是一样的,问题可以在图像中看到:
如您所见,边框位于页眉上方(同样边框变大可以看出问题所在)。
最佳答案
我想这会对你有帮助
[self.tableView.layer setBorderWidth:2.0];
[self.tableView.layer setBorderColor:[UIColor whiteColor]];
[self.tableView.layer setMasksToBounds:YES];
尝试一次。对于您的另一个 View 也是如此。
更新
CGFloat borderWidth = 2.0f;
self.tableView.frame = CGRectInset(self.frame, -borderWidth, -borderWidth);
self.tableView.layer.borderColor = [UIColor yellowColor].CGColor;
self.tableView.layer.borderWidth = borderWidth;
self.tableView.layer.masksToBounds = YES;
关于ios - 带框架的 UIPageViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28811463/