어떻게 MKAnnotationView에 단추를 추가 할 수 있습니까? 제목과 부제목을 추가했지만 버튼을 추가 할 수 없습니까? 왜 이해가 안되니? 어떻게 구현할 수 있습니까?사용자 지정 MKAnnotationView에 단추를 추가하는 방법
나는 .H
#import <UIKit/UIKit.h>
@interface AnnotationCellout : UIView
@property (weak, nonatomic) UILabel *nameLabel;
@property (weak, nonatomic) UILabel *infoLabel;
@property (weak, nonatomic) UIButton *info;
@end
하는 .m
#import "AnnotationCellout.h"
@implementation AnnotationCellout
- (instancetype)initWithFrame:(CGRect)frame {
self = [super initWithFrame:frame];
if (self) {
[self setupUI];
}
return self;
}
- (void)setupUI {
// view
self.backgroundColor = [UIColor whiteColor];
self.layer.borderColor = [UIColor purpleColor].CGColor;
self.layer.borderWidth = .5;
self.layer.cornerRadius = 5;
// titleLabel
UILabel *nameLabel = [[UILabel alloc] initWithFrame:CGRectMake(2, 2, self.frame.size.width - 4, 17)];
nameLabel.textAlignment = NSTextAlignmentCenter;
nameLabel.textColor = [UIColor purpleColor];
nameLabel.font = [UIFont systemFontOfSize:14 weight:UIFontWeightBold];
[self addSubview:nameLabel];
self.nameLabel = nameLabel;
// subtitleLabel
UILabel *infoLabel = [[UILabel alloc] initWithFrame:CGRectMake(2, 20, self.frame.size.width - 4, 30)];
infoLabel.numberOfLines = 2;
infoLabel.lineBreakMode = NSLineBreakByWordWrapping;
infoLabel.textAlignment = NSTextAlignmentCenter;
infoLabel.textColor = [UIColor darkGrayColor];
infoLabel.font = [UIFont systemFontOfSize:12];
[self addSubview:infoLabel];
self.infoLabel = infoLabel;
UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
button.frame = CGRectMake(2, 20, self.frame.size.width - 4, 30);
[button setTitle:@"OK" forState:UIControlStateNormal];
[button addTarget:self action:@selector(didTouchUpInsideCalloutButton:) forControlEvents:UIControlEventTouchUpInside];
[self addSubview:_info];
self.info = button;
}
@end
MKAnnotationView
사용자 정의에 대한 수업을하고 난 지금이 버튼 액션을 추가하는 방법을하지 않습니다.
를 들어
그런 다음 주석을로드하기 위해이 방법을 쓰기. 그 밖의 무엇이 필요합니까? –
@TejaNandamuri이 버튼은 주석에 표시되지 않으며 제목과 부제목 만 표시됩니다. 이 버튼을 추가 할 수 없습니다. –