1

次のような 3D ボタンを 1 つ取得する方法はありますか。

ここに画像の説明を入力

私がやりたいことは、次のようなものです:

 MK3dBUTTON *3dButton = [[MK3dBUTTON alloc] initWithMapView:self.mapView];
 [3dButton setTarget:self];

UIBarButtonItem *3dbarButton = [[UIBarButtonItem alloc] initWithCustomView:3dButton];
[self.uiTollbar setItems:@[3dbarButton];

この3Dボタンをコードで直接取得するにはどうすればよいですか?

ありがとう

4

1 に答える 1

0

私の解決策:

UIButton *button =  [UIButton buttonWithType:UIButtonTypeCustom];
[button addTarget:self action:@selector(changeMapViewButtonPressed:) forControlEvents:UIControlEventTouchUpInside];
[button setFrame:CGRectMake(0, 0, 50, 30)];
[button setTitle:@"3D" forState:UIControlStateNormal];
[button setTitleColor:self.view.tintColor forState:UIControlStateNormal];
[button setTitle:@"3D" forState:UIControlStateHighlighted];
[button setTitleColor:[self.view.tintColor colorWithAlphaComponent:0.15] forState:UIControlStateHighlighted];
[button.titleLabel setFont:[UIFont fontWithName:@"HelveticaNeue-Thin" size:25]];
UIBarButtonItem *changeMapViewItem = [[UIBarButtonItem alloc] initWithCustomView:button];

これは次のようになります。

ここに画像の説明を入力

私はそれを試しました:

UIBarButtonItem *changeMapViewItem = [[UIBarButtonItem alloc] initWithTitle:@"3D" style:UIBarButtonItemStylePlain target:self action:@selector(changeMapViewButtonPressed:)];
[changeMapViewItem setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:[UIFont fontWithName:@"HelveticaNeue-Thin" size:25], NSFontAttributeName,nil] forState:UIControlStateNormal];

しかし、Text は UIToolbar のアイコンと一致しません。

HTH ドミニク

于 2014-01-05T08:48:21.473 に答える