Quantcast
Channel: CSDN博客推荐文章
Viewing all articles
Browse latest Browse all 35570

UIView层次管理(sendSubviewToBack,bringSubviewToFront)

$
0
0
目的:使segment上每一个Item的title可以换行显示。
方法:在segment control上蒙一层label,控制label,让label的text换行显示。
遇到的困难:无法将label放置在segment上。
分析原因:一开始我就犯了一个错,那就是把mySegment作为self.view的子层,把labelA作为mySegment的子层,然后管理labelAmySegment,让labelAmySegment之上。
解决办法:将labelAmySegment都放在self.view层上,然后在利用sendSubviewToBack,bringSubviewToFront来控制其层次关系。

- (void)viewDidLoad {

    [super viewDidLoad];

UILabel *labelA = [[UILabel alloc]initWithFrame:CGRectMake(10010043)];

labelA.lineBreakMode = UILineBreakModeWordWrap;

labelA.numberOfLines = 0;

[labelA setTextAlignment:UITextAlignmentCenter];

[labelA setBackgroundColor:[UIColor clearColor]];

labelA.text = @"ABCDEFGHIJ";

       ... ...


UISegmentedControl *mySegment = [[UISegmentedControl alloc]initWithItems:[NSArray arrayWithObjects:@" ",@" ",@" ",nil]];

[mySegment setFrame:CGRectMake(10030043)];

[mySegment setSelectedSegmentIndex:0];


[self.view addSubview:mySegment];

[self.view addSubview:labelA];

[self.view sendSubviewToBack:mySegment];

... ...

[mySegment release];

[labelA release];

... ...

}


附:

将一个UIView显示在最前面只需要调用其父视图的 bringSubviewToFront()方法。

将一个UIView层推送到背后只需要调用其父视图的 sendSubviewToBack()方法。

作者:zzzili 发表于2013-1-5 14:24:42 原文链接
阅读:32 评论:0 查看评论

Viewing all articles
Browse latest Browse all 35570

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>