[英]Objective C - Optionally add button or label
更新:更正了按钮属性的文本和图像。
我尝试显示一个按钮(如果有特定信息可用),并让该按钮在单击时执行操作; 否则,只需显示一个标签。 我创建了以下内容:
if(rec.biography != nil)
{
btnProviderBio = [UIButton buttonWithType:UIButtonTypeCustom];
[btnProviderBio setImage:[UIImage imageNamed:@"info.png"] forState:UIControlStateNormal];
[btnProviderBio setTitle:[NSString stringWithFormat:@"%@ - %@", rec.providerName, rec.facilityName] forState:UIControlStateNormal];
[btnProviderBio setFrame: CGRectMake(13.0, yValue, [UIScreen mainScreen].bounds.size.width-26, 40.0)];
[btnProviderBio addTarget:self action:@selector(providerAlertDiaglog:) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:btnProviderBio];
}
else{
lblFacilityProvider = [[UILabel alloc] init];
[lblFacilityProvider setFont:[UIFont systemFontOfSize: 14]];
[lblFacilityProvider setText:[NSString stringWithFormat:@"%@ - %@", rec.providerName, rec.facilityName]];
[lblFacilityProvider setFrame: CGRectMake(13.0, yValue, [UIScreen mainScreen].bounds.size.width-26, 40.0)];
[self.view addSubview:lblFacilityProvider];
}
我现在得到以下结果。 没有标签文本和按钮在随机位置。 我希望按钮在左侧,文本在右侧。
我认为您应该使用setTitleTintColor,因为“自定义”按钮的默认titleTintColor值为白色,因此您需要设置titleTintColor。 请检查以下代码。
if(rec.biography != nil)
{
btnProviderBio = [UIButton buttonWithType:UIButtonTypeCustom];
[btnProviderBio setImage:[UIImage imageNamed:@"info.png"] forState:UIControlStateNormal];
[btnProviderBio setTitle:[NSString stringWithFormat:@"%@ - %@", rec.providerName, rec.facilityName] forState:UIControlStateNormal];
[btnProviderBio setFrame: CGRectMake(13.0, yValue, [UIScreen mainScreen].bounds.size.width-26, 40.0)];
[btnProviderBio addTarget:self action:@selector(providerAlertDiaglog:) forControlEvents:UIControlEventTouchUpInside];
// I used rgb color but you can use your color, this rgb color just for your reference.
[btnProviderBio setTitleColor:[UIColor colorWithRed:36/255.0 green:71/255.0 blue:113/255.0 alpha:1.0] forState:UIControlStateNormal];
[self.view addSubview:btnProviderBio];
}
else{
lblFacilityProvider = [[UILabel alloc] init];
[lblFacilityProvider setFont:[UIFont systemFontOfSize: 14]];
[lblFacilityProvider setText:[NSString stringWithFormat:@"%@ - %@", rec.providerName, rec.facilityName]];
[lblFacilityProvider setFrame: CGRectMake(13.0, yValue, [UIScreen mainScreen].bounds.size.width-26, 40.0)];
[self.view addSubview:lblFacilityProvider];
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.