繁体   English   中英

Objective-C样式的样式

[英]Objective-C category for styling

为iOS应用程序创建UI对象的可重用样式的最佳方法是什么?

例如,我想为每个UITextField使用相同的样式 - 顶部/底部线,并考虑创建一个类别以提供样式并简单地将其应用于View Controller。

有没有更好的解决方案呢?

的UITextField + TextFieldStyler.m

- (void)addTopBorderWithColor:(UIColor *)color
{
    CGRect topBorderFrame = CGRectMake(0, 0, self.bounds.size.width, 1.0);
    UIView *topBorder = [[UIView alloc] initWithFrame:topBorderFrame];
    topBorder.backgroundColor = color;

    [self addSubview:topBorder];
}

PXRLoginViewController.m

[self.nameFIeld addTopBorderWithColor:[UIColor whiteColor]];
[self.passwordField addTopBorderWithColor:[UIColor whiteColor]];

我相信你使用的方法完全没问题。 它也被Apple本身用于相同的用例,查看文档

注意: Cocoa和Cocoa Touch包含一些主要框架类的各种类别。

本章简介中提到的字符串绘制功能实际上已经通过OS X的NSStringDrawing类别为NSString提供,其中包括drawAtPoint:withAttributes:和drawInRect:withAttributes:methods。 对于iOS,UIStringDrawing类别包括drawAtPoint:withFont:和drawInRect:withFont:等方法。

如您所见,它们使用相同的模式来扩展NSString的绘制行为。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM