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

时间:2022-03-13 16:23:31

UIButton:

UIEdgeInsets

在UIButton中有三个对EdgeInsets的设置:ContentEdgeInsets、titleEdgeInsets、imageEdgeInsets

@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的正*

  1. UIEdgeInsets insets = {top, left, bottom, right};
  2. return insets;
  3. }
  4. self.view.backgroundColor = [UIColor blackColor];
  5. UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];//button的类型
  6. button.frame = CGRectMake(100, 100,90, 90);//button的frame
  7. button.backgroundColor = [UIColor cyanColor];//button的背景颜色
  8. //    [button setBackgroundImage:[UIImage imageNamed:@"man_64.png"] forState:UIControlStateNormal];
  9. //    在UIButton中有三个对EdgeInsets的设置:ContentEdgeInsets、titleEdgeInsets、imageEdgeInsets
  10. [button setImage:[UIImage imageNamed:@"IconHome@2x.png"] forState:UIControlStateNormal];//给button添加image
  11. button.imageEdgeInsets = UIEdgeInsetsMake(5,13,21,button.titleLabel.bounds.size.width);
  12. //设置image在button上的位置(上top,左left,下bottom,右right)这里可以写负值,对上写-5,那么image就象上移动5个像素
  13. [button setTitle:@"首页" forState:UIControlStateNormal];//设置button的title
  14. button.titleLabel.font = [UIFont systemFontOfSize:16];//title字体大小
  15. button.titleLabel.textAlignment = NSTextAlignmentCenter;//设置title的字体居中
  16. [button setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];//设置title在一般情况下为白色字体
  17. [button setTitleColor:[UIColor grayColor] forState:UIControlStateHighlighted];//设置title在button被选中情况下为灰色字体
  18. button.titleEdgeInsets = UIEdgeInsetsMake(71, -button.titleLabel.bounds.size.width-50, 0, 0);
  19. //设置title在button上的位置(上top,左left,下bottom,右right)
  20. //    [button setContentEdgeInsets:UIEdgeInsetsMake(70, 0, 0, 0)];//
  21. //   button.contentHorizontalAlignment = UIControlContentHorizontalAlignmentCenter;
  22. //设置button的内容横向居中。。设置content是title和image一起变化,这个效果好像并不是很好,还是设置数字比较保险
  23. [button addTarget:self action:@selector(tap) forControlEvents:UIControlEventTouchUpInside];
  24. [self.view addSubview:button];
  25. </span>

//button相应的事件

-(void)tap {
  1. NSLog(@"tap a button");
  2. UIAlertView *alertView = [[UIAlertView alloc]
  3. initWithTitle:@"hello" message:@"willingseal" delegate:self cancelButtonTitle:@"ok" otherButtonTitles: nil nil];
  4. [alertView show];
  5. }
  6. UILabel:  
  7. 在一个UILabel中显示不同颜色的字  
  8. UILabel *agrreeLabel = [[UILabel alloc] initWithFrame:CGRectMake(20, 297, self.view.frame.size.width - 20*2, 30)];
  9. [self.view addSubview:agrreeLabel];
  10. //
  11. NSMutableAttributedString *str = [[NSMutableAttributedString alloc] initWithString:@"注册即表示同意某某某用户协议及隐私政策"];
  12. //添加不同颜色的方法
  13. [str addAttribute:NSForegroundColorAttributeName value:[UIColor blackColor] range:NSMakeRange(0,7)];
  14. //第一个参数表示从哪个位置开始,第二个参数表示包含字符的数量。
  15. [str addAttribute:NSForegroundColorAttributeName value:[UIColor blueColor] range:NSMakeRange(7,12)];
  16. //[str addAttribute:NSForegroundColorAttributeName value:[UIColor greenColor] range:NSMakeRange(19,6)];
  17. //添加不同的字体与上面方法一样
  18. //[str addAttribute:NSFontAttributeName value:[UIFont fontWithName:@"Arial-BoldItalicMT" size:30.0] range:NSMakeRange(0, 5)];
  19. //[str addAttribute:NSFontAttributeName value:[UIFont fontWithName:@"HelveticaNeue-Bold" size:30.0] range:NSMakeRange(6, 12)];
  20. //[str addAttribute:NSFontAttributeName value:[UIFont fontWithName:@"Courier-BoldOblique" size:30.0] range:NSMakeRange(19, 6)];
  21. 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
*nMyanmar (Burmese)
NepaliNorwegianPersian
PolishPortuguesePunjabi
RomanianRussianSerbian
SesothoSinhalaSlovak
SlovenianSomaliSpanish
SundaneseSwahiliSwedish
TajikTamilTelugu
ThaiTurkishUkrainian
UrduUzbekVietnamese
WelshYiddishYoruba
Zulu
               
Text-to-speech function is limited to 100 characters