设置UIButton中的文字和图片,设置UILabel的文在显示不同颜色

UIButton:

UIEdgeInsets

typedef struct UIEdgeInsets { 
CGFloat top, left, bottom, right;  // specify amount to inset (positive) for each of the edges. values can be negative to 'outset' 
} UIEdgeInsets;


UIButton中有三个对EdgeInsets的设置:ContentEdgeInsetstitleEdgeInsetsimageEdgeInsets

@property(nonatomic)          UIEdgeInsets contentEdgeInsets UI_APPEARANCE_SELECTOR; // default is UIEdgeInsetsZero  
  1. @property(nonatomic)          UIEdgeInsets titleEdgeInsets;                // default is UIEdgeInsetsZero  
  2. @property(nonatomic)          BOOL         reversesTitleShadowWhenHighlighted; // default is NO. if YES, shadow reverses   
  3. to shift between engrave and emboss appearance  
  4. @property(nonatomic)          UIEdgeInsets imageEdgeInsets;                // default is UIEdgeInsetsZero</span>  

UIEdgeInsetsMake

里面的四个参数表示距离上边界、左边界、下边界、右边界的距离,默认都为零,title/image在button的正中央

UIKIT_STATIC_INLINE UIEdgeInsets UIEdgeInsetsMake(CGFloat top, CGFloat left, CGFloat bottom, CGFloat right) {  
  1.     UIEdgeInsets insets = {top, left, bottom, right};  
  2.     return insets;  
  3. }
  4. self.view.backgroundColor = [UIColor blackColor];  
  5.       
  6.     UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];//button的类型  
  7.     button.frame = CGRectMake(100100,9090);//button的frame  
  8.    button.backgroundColor = [UIColor cyanColor];//button的背景颜色  
  9.       
  10. //    [button setBackgroundImage:[UIImage imageNamed:@"man_64.png"] forState:UIControlStateNormal];  
  11.       
  12. //    在UIButton中有三个对EdgeInsets的设置:ContentEdgeInsets、titleEdgeInsets、imageEdgeInsets  
  13.     [button setImage:[UIImage imageNamed:@"[email protected]"] forState:UIControlStateNormal];//给button添加image  
  14.     button.imageEdgeInsets = UIEdgeInsetsMake(5,13,21,button.titleLabel.bounds.size.width);  
  15. //设置image在button上的位置(上top,左left,下bottom,右right)这里可以写负值,对上写-5,那么image就象上移动5个像素  
  16.       
  17.     [button setTitle:@"首页" forState:UIControlStateNormal];//设置button的title  
  18.     button.titleLabel.font = [UIFont systemFontOfSize:16];//title字体大小  
  19.     button.titleLabel.textAlignment = NSTextAlignmentCenter;//设置title的字体居中  
  20.     [button setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];//设置title在一般情况下为白色字体  
  21.     [button setTitleColor:[UIColor grayColor] forState:UIControlStateHighlighted];//设置title在button被选中情况下为灰色字体  
  22.      button.titleEdgeInsets = UIEdgeInsetsMake(71, -button.titleLabel.bounds.size.width-5000);  
  23. //设置title在button上的位置(上top,左left,下bottom,右right)  
  24.       
  25. //    [button setContentEdgeInsets:UIEdgeInsetsMake(70, 0, 0, 0)];//  
  26.       
  27. //   button.contentHorizontalAlignment = UIControlContentHorizontalAlignmentCenter;  
  28. //设置button的内容横向居中。。设置content是title和image一起变化,这个效果好像并不是很好,还是设置数字比较保险  
  29.     [button addTarget:self action:@selector(tap) forControlEvents:UIControlEventTouchUpInside];  
  30.     [self.view addSubview:button];  
  31. </span>  
//button相应的事件
-(void)tap {  
  1.     NSLog(@"tap a button");  
  2.       
  3.     UIAlertView *alertView = [[UIAlertView alloc]   
  4. initWithTitle:@"hello" message:@"willingseal" delegate:self cancelButtonTitle:@"ok" otherButtonTitles: nil nil];  
  5.     [alertView show];  
  6. }   
  7. UILabel:  
  8. 在一个UILabel中显示不同颜色的字  
  9. UILabel *agrreeLabel = [[UILabel alloc] initWithFrame:CGRectMake(20297self.view.frame.size.width - 20*230)];  
  10.     [self.view addSubview:agrreeLabel];  
  11.     //  
  12.     NSMutableAttributedString *str = [[NSMutableAttributedString alloc] initWithString:@"注册即表示同意某某某用户协议及隐私政策"];  
  13. //添加不同颜色的方法  
  14.     [str addAttribute:NSForegroundColorAttributeName value:[UIColor blackColor] range:NSMakeRange(0,7)];  
  15. //第一个参数表示从哪个位置开始,第二个参数表示包含字符的数量。  
  16.     [str addAttribute:NSForegroundColorAttributeName value:[UIColor blueColor] range:NSMakeRange(7,12)];  
  17.     //[str addAttribute:NSForegroundColorAttributeName value:[UIColor greenColor] range:NSMakeRange(19,6)];  
  18. //添加不同的字体与上面方法一样  
  19.     //[str addAttribute:NSFontAttributeName value:[UIFont fontWithName:@"Arial-BoldItalicMT" size:30.0] range:NSMakeRange(0, 5)];  
  20.     //[str addAttribute:NSFontAttributeName value:[UIFont fontWithName:@"HelveticaNeue-Bold" size:30.0] range:NSMakeRange(6, 12)];  
  21.     //[str addAttribute:NSFontAttributeName value:[UIFont fontWithName:@"Courier-BoldOblique" size:30.0] range:NSMakeRange(19, 6)];  
  22.     agrreeLabel.attributedText = str;
Detect language AfrikaansAlbanian ArabicArmenianAzerbaijani BasqueBelarusian BengaliBosnianBulgarian CatalanCebuanoChichewa Chinese (Simplified)Chinese (Traditional) CroatianCzechDanish DutchEnglishEsperanto EstonianFilipinoFinnish FrenchGalicianGeorgian GermanGreekGujarati Haitian CreoleHausaHebrew HindiHmong HungarianIcelandicIgbo IndonesianIrishItalian JapaneseJavaneseKannada KazakhKhmerKorean LaoLatinLatvian LithuanianMacedonianMalagasy MalayMalayalam MalteseMaoriMarathi MongolianMyanmar (Burmese) NepaliNorwegianPersian PolishPortuguesePunjabi RomanianRussianSerbian SesothoSinhalaSlovak SlovenianSomaliSpanish SundaneseSwahiliSwedish TajikTamilTelugu ThaiTurkishUkrainian UrduUzbekVietnamese WelshYiddishYoruba Zulu
               
Text-to-speech function is limited to 100 characters
Options : History : Help : Feedback Close

你可能感兴趣的:(UILabel,UIButton)