tes*_*ing 5 border uiview uisplitviewcontroller ios autolayout
我重新计算了一些UISplitViewController.现在我需要在主视图和详细视图之间绘制一个分隔线.现在我有一些问题:
我看到了解决方案CALayer/ CAShapeLayer,drawRect(CoreGraphics中)或使用的背景颜色UIView/ UILabel.根据那里的人们的说法,最后一个应该花费太多的性能.
一方面,在UITableViewController自己画线方面很舒服.或者应该单独UIView创建?如果我嵌入一个单独的UIView将有更多的约束,它会使事情复杂化(必须设置单独的宽度)...它也应该适应方向的变化(例如变化的大小UITableViewController- >分离线也应该调整大小) .
我怎样才能添加这样的划分规则?这样的划分规则可以在这里看到:

如果你需要添加一个真正的像素线,不要愚弄图像.这几乎是不可能的.只要用这个:
@interface UILine : UIView
@end
@implementation UILine
- (void)awakeFromNib {
CGFloat sortaPixel = 1 / [UIScreen mainScreen].scale;
// recall, the following...
// CGFloat sortaPixel = 1 / self.contentScaleFactor;
// ...does NOT work when loading from storyboard!
UIView *line = [[UIView alloc] initWithFrame:CGRectMake(0, 0, self.frame.size.width, sortaPixel)];
line.userInteractionEnabled = NO;
line.backgroundColor = self.backgroundColor;
line.autoresizingMask = UIViewAutoresizingFlexibleWidth;
[self addSubview:line];
self.backgroundColor = [UIColor clearColor];
self.userInteractionEnabled = NO;
}
@end
Run Code Online (Sandbox Code Playgroud)
如何使用:
实际上在故事板中,只需制作一个确切位置的UIView ,以及您想要的精确宽度.(可以照常使用约束/自动布局.)
让视图显示高五个像素,这样您就可以在工作时清楚地看到它.
将UIView 的顶部准确地放在您想要单像素线的位置.使UIView成为所需的线条颜色.
将班级更改为UILine.在运行时,它将在所有设备上的确切位置绘制完美的单像素线.
(对于垂直线类,只需修改CGRectMake.)
希望能帮助到你!
| 归档时间: |
|
| 查看次数: |
9696 次 |
| 最近记录: |