刚才发现策划要求一个竖向的button,然后就去interface builder 里面去翻了,找了半天也没有方法把UIbutton 竖向放置,如果interface builder 搞不定,那就是没有这功能了。
然后就想 是不是 旋转可以呢? 就去查资料 写了三行代码实现了旋转操作
CGAffineTransform transform = button.transform;
transform = CGAffineTransformRotate(transform, 3.14/2);
button.transform = transform;
结果效果非常不理想,button 旋转过来了,字也是全都旋转了。。
例如:T\nX\nX 这样不就能手动换行了么。。
然后就随手写了个拆分NSString添加回车符的程序:
- (NSString *) Dosomething:(NSString *)Word
{
NSMutableString *Temp = [[[NSMutableString alloc] init] autorelease];
for (int i=0; i<[Word length]; i++) {
[Temp appendFormat:[Word substringWithRange:NSMakeRange(i, 1)]];
[Temp appendFormat:@"\n"];
}
return Temp;
}
NSLog了一下效果很满足要求。
。。发现。。。
T\nX\nX 变成了T X X
也就是说\n变成了空格,然后回忆起 寒假时H4x说 OSX的换行符是\r 改了一下,依然不对。
然后就去试图约束Button长度:button.frame =CGRectMake(0, i*35, 20, 300);
结果成了T..
button.titleLabel.lineBreakMode = UILineBreakModeWordWrap;//加了这个 回车符就能正常显示了
然后问题就完美解决了。。觉得这个方法不错,就写了篇日志,并决定开始记录一下ios开发的各种小技巧。
当然我不保证这个是最简单的解决方式,但是这东西至少能完美实现我的效果,如果您有人用其他的方法实现了这个效果 欢迎留言
序言 :
下面给大家说下 button的一些小技巧
点击button变图片:
UIButton *touristBtn = [[UIButton alloc]initWithFrame:CGRectMake(20, 5, 120, 25)];
[touristBtn setBackgroundColor:[UIColor clearColor]];
[touristBtn setImage:[UIImage imageNamed:@"firstBtn.png"] forState:UIControlStateNormal];
全了 [touristBtn setImage:[UIImage imageNamed:@"secondBtn.png" forState:UIControlStateSelected];
[touristBtn addTarget:self action:@selector(touristEvent:) forControlEvents:UIControlEventTouchUpInside];
[tabView addSubview:touristBtn];
在button的action方法中改变button的状态:
-(void)touristEvent:(id)sender{
UIButton *button = (UIButton *)sender;
button.selected = !button.selected;
}
//
创建按钮
8 UIButton *sampleButton =
[UIButton buttonWithType:UIButtonTypeRoundedRect];
9
10
11
//
设置按钮位置
12 [sampleButton setFrame:CGRectMake(
10,
100, self.view.bounds.size.width-
20,
52
)];
13
14
//
定义按钮标题
15 [sampleButton setTitle:
@"
Button Title
"
forState:UIControlStateNormal];
16
17
//
定义按钮标题字体格式
18 [sampleButton.titleLabel setFont:[UIFont boldSystemFontOfSize:
20
]];
19
20
//
定义按钮背景图片,redButton.png已经存在,拖放添加图片文件到image项目文件夹中
21 [sampleButton setBackgroundImage:[[UIImage imageNamed:
@"
redButton.png
"]stretchableImageWithLeftCapWidth:
0.0 topCapHeight:
0.0
] forState:UIControlStateNormal];
22
23
//
添加点击按钮所执行的程式
24
[sampleButton addTarget:self action:@selector(buttonClicked)forControlEvents:UIControlEventTouchUpInside];
25
26
//
在 View 中加入按钮
27
[self.viewaddSubview:sampleButton];
这下基本全了