是否可以在我的应用内轻松更改特定类型的所有对象?
例如,更改所有UILabel的字体/颜色或在setAdjustsFontSizeToFitWidth:
上应用UILabels
函数。
答案 0 :(得分:0)
您可以使用以下代码更改textfield
或任何对象的宽度,颜色,大小。
for(UITextField *txt in self.view.subviews)
{
if([txt isKindOfClass:[UITextField class]])
{
//here do your work
txt.frame=CGRectMake(0, 50, 100, 100);//set size,color anything your want.
}
}
制作你想要使用的对象类。
答案 1 :(得分:0)
尝试使用以下require_tree .
类别:
<强>的UIView + MakeChange.h 强>
UIView
<强>的UIView + MakeChange.m 强>
@import UIKit;
@interface UIView (MakeChange)
+(void)makeChangeInView:(UIView*)superview
withBlock:(void(^)(__kindof UIView* view))block;
@end
您可以使用以下代码更改当前显示的#import "UIView+MakeChange.h"
@implementation UIView (MakeChange)
+(void)makeChangeInView:(UIView*)superview
withBlock:(void(^)(__kindof UIView* view))block
{
if(!block || !superview) return;
for(UIView* subview in superview.subviews)
{
// Make changes to all subviews recursively
[self makeChangeInView:subview withBlock:block];
if([subview isKindOfClass:self.class])
block(subview);
}
}
@end
的字体/颜色:
UILabel
[UILabel makeChangeInView:[[[UIApplication sharedApplication] windows] firstObject]
withBlock:^(UILabel* label) {
[label setTextColor:[UIColor redColor]];
[label setFont:[UIFont systemFontOfSize:10.0]];
}];
,UITextField
等。)