Tôi có chế độ xem trong Ứng dụng của tôi có một số nút dựa trên số lượng mục được máy chủ trả về. Vì vậy, nếu máy chủ trả về nói 10 mục, cần có 10 nút và nhấp vào mỗi nút nên gọi một người khác.Tùy chỉnh UIButton cho Iphone
Vì mục đích trên, tôi đã tạo lớp nút tùy chỉnh xuất phát từ UIButton.
@implementation HopitalButton
@synthesize index;
@synthesize button_type;
- (id)initWithFrame:(CGRect)frame {
if (self = [super initWithFrame:frame]) {
UIImage* img = [UIImage imageNamed:@"dr_btn.png"];
[img stretchableImageWithLeftCapWidth:10 topCapHeight:10];
[self setBackgroundImage:img forState:UIControlStateNormal];
[self setTitleColor:[UIColor colorWithRed:0.698 green:0.118 blue:0.376 alpha:1] forState:UIControlStateNormal] ;
[self setFont:[UIFont fontWithName:@"Helvetica Bold" size:13]];
self.titleLabel.textColor = [UIColor colorWithRed:178 green:48 blue:95 alpha:1];
self.adjustsImageWhenHighlighted = YES;
}
return self;
}
- (void)dealloc {
[super dealloc];
}
@end
Bây giờ vấn đề với mã trên là nó không tạo ra các nút trông tương tự như các nút được tạo mặc định trong Trình tạo giao diện. Đường viền bị thiếu.
Và tôi tạo các nút của các loại trên bằng đoạn mã sau:
HopitalButton* hb = [[HopitalButton alloc] init];
hb.button_type = @"call";
hb.frame = CGRectMake(50, 50 + i * 67, 220, 40);
[self.scroll_view addSubview:hb];
[hb setTitle:[[[self.office_full_list objectAtIndex:i] objectForKey:@"Staff" ]objectForKey:@"FullName"] forState:UIControlStateNormal];
hb.index = [NSNumber numberWithInt:[self.button_items count]];
[self.button_items insertObject:hb atIndex:[self.button_items count]];
[hb addTarget:self action:@selector(buttonClicked:) forControlEvents:UIControlEventTouchUpInside];
Tôi không tìm kiếm một cách để thiết lập các loại nút cho nút tùy chỉnh này. Có cách nào tôi có thể làm được không? Hoặc là có một cách tốt hơn để thiết kế mã.
Nhưng chỉ mục quan trọng đối với chương trình của tôi khi tôi sử dụng chỉ mục để tìm ra nút nào được nhấn vì có nhiều nút trong chế độ xem – Amal
đặt thẻ cho nút. Tôi đã cập nhật mã số – coneybeare
Bạn lấy hình ảnh nút màu đỏ có thể kéo ra ở đâu? – bentford