iphone 自定义UISwitch
来源:互联网 发布:linux etc rc.local 编辑:程序博客网 时间:2024/05/16 17:03
修改UISwitch的标题,实现自定义UISwitch方法有两种:
1.使用类别扩展UISwitch。
如下:
下面是UISwitch.h文件:
#import <UIKit/UIKit.h>
@interface UISwitch (tagged)
+ (UISwitch *) switchWithLeftText: (NSString *) tag1 andRight: (NSString *) tag2;
@property (nonatomic, readonly) UILabel *label1;
@property (nonatomic, readonly) UILabel *label2;
@end
UISwitch.m文件:
#import "UISwitch-Extended.h"
#define TAG_OFFSET 900
@implementation UISwitch (tagged)
- (void) spelunkAndTag: (UIView *) aView withCount:(int *) count
{
for (UIView *subview in [aView subviews])
{
if ([subview isKindOfClass:[UILabel class]])
{
*count += 1;
[subview setTag:(TAG_OFFSET + *count)];
}
else
[self spelunkAndTag:subview withCount:count];
}
}
- (UILabel *) label1
{
return (UILabel *) [self viewWithTag:TAG_OFFSET + 1];
}
- (UILabel *) label2
{
return (UILabel *) [self viewWithTag:TAG_OFFSET + 2];
}
+ (UISwitch *) switchWithLeftText: (NSString *) tag1 andRight: (NSString *) tag2
{
UISwitch *switchView = [[UISwitch alloc] initWithFrame:CGRectZero];
int labelCount = 0;
[switchView spelunkAndTag:switchView withCount:&labelCount];
if (labelCount == 2)
{
[switchView.label1 setText:tag1];
[switchView.label2 setText:tag2];
}
return [switchView autorelease];
}
@end
2.还有一种方法,这种方法比较简单,但比较难懂,我不甚理解。
UISwitch *isFooOrBar=[[UISwitch alloc] init];
((UILabel *)[[[[[[isFooOrBar subviews] lastObject] subviews] objectAtIndex:2] subviews]objectAtIndex:0]).text = @"Foo";
((UILabel *)[[[[[[isFooOrBar subviews] lastObject] subviews] objectAtIndex:2] subviews]objectAtIndex:1]).text = @"Bar";
- iphone 自定义UISwitch
- iphone 自定义UISwitch
- 自定义 UISwitch
- 自定义 UISwitch
- iphone UISwitch开关控件
- iphone开发之自定义UIControl对象的视图 UISwitch的字体和颜色
- iphone/ipad实现自定义的开关UISwitch(continuous,clipsToBounds,userInteractionEnabled属性)
- iphone开发自定义UIControl对象的视图 UISwitch的字体和颜色
- IOS之自定义UISwitch
- IOS之自定义UISwitch
- 自定义UISwitch按钮
- IOS自定义UISwitch
- 自定义UISwitch颜色
- UISwitch 及其自定义方法
- UISwitch用法-以及-自定义UISwitch控件
- iphone上UISwitch控件用法
- C#iphone UISwitch 的使用
- iOS自定义的UISwitch按钮
- 软件生命周期—V模型
- ROS 学习(一)
- rac安装数据库到最后出现PRKP-1001与手动启动rac
- 社员交流与培训活动
- 研究Struts2源码第一步
- iphone 自定义UISwitch
- 我可以有什么核心竞争力
- 请求转发 jsp:forward和sendRedirect的区别
- 求和、积分号的上下界问题
- CFile操作详解
- 手把手教你如何实现苹果推送通知
- Inline Functions in C++
- Linux世界开启传送门3-预备第1天
- 使用JavaScript 中需要注意的问题