[解決済み] プログラムによるナビゲーションバーへのボタン追加
2023-03-23 13:45:54
質問
こんにちは、ナビゲーションバーの右側にあるボタンをプログラムで設定し、ボタンを押すと何らかのアクションが実行されるようにしたいのです。 私は、ナビゲーションバー、プログラムによって作成されています。
navBar=[[UINavigationBar alloc]initWithFrame:CGRectMake(0,0,320,44) ];
同様に、このナビゲーションバーの右側に、ボタンを追加する必要があります。そのために私は使用しました。
1.
UIView* container = [[UIView alloc] init];
// create a button and add it to the container
UIButton* button = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 130, 44.01)];
[container addSubview:button];
[button release];
// add another button
button = [[UIButton alloc] initWithFrame:CGRectMake(160, 0, 50, 44.01)];
[container addSubview:button];
[button release];
// now create a Bar button item
UIBarButtonItem* item = [[UIBarButtonItem alloc] initWithCustomView:container];
// set the nav bar's right button item
self.navigationItem.rightBarButtonItem = item;
[item release];
2.
UIImage *im;
im=[UIImage imageNamed:@"back.png"];
[button setImage:im forState:UIControlStateNormal];
[im release];
backButton = [[UIBarButtonItem alloc] initWithCustomView:button];
[backButton setImageInsets:UIEdgeInsetsMake(0, -10,5, 5)];
[self.navigationItem setRightBarButtonItem:backButton];
3.
UIBarButtonItem *refreshItem = [[UIBarButtonItem alloc] initWithTitle:@"button" style:UIBarButtonItemStylePlain target:self action:@selector(refreshLogsAction:)];
self.navigationItem.rightBarButtonItem = refreshItem;
[refreshItem release];
これらの方法をすべて試しましたが、どれも右側にボタンが表示されません。
どのように解決するのですか?
私の
UIViewController
派生クラスの内部で、次のように使っています。
viewDidLoad
:
UIBarButtonItem *flipButton = [[UIBarButtonItem alloc]
initWithTitle:@"Flip"
style:UIBarButtonItemStyleBordered
target:self
action:@selector(flipView:)];
self.navigationItem.rightBarButtonItem = flipButton;
[flipButton release];
これは右側にFlipというタイトルのボタンを追加し、このメソッドを呼び出します。
-(IBAction)flipView
これはあなたの#3と非常によく似ていますが、私のコード内で動作しています。
関連
-
[解決済み] ナビゲーションバーの高さをプログラムで取得する
-
[解決済み] NSArrayのディープコピー
-
[解決済み] このgdbの出力は何を意味しているのでしょうか?
-
[解決済み] iOSのBackground Threadの起動
-
[解決済み] インスタンスメッセージの受信型'CALayer'は前方宣言である」とはどういう意味か?
-
[解決済み] Objective-Cのプロテクトメソッド
-
[解決済み] Swift の外部読み取り専用、内部読み書き可能なプロパティ
-
[解決済み] 「アプリケーションはアクティブなコントローラを表示しようとした」?
-
[解決済み] NSStringの最初の3文字を取得するには?
-
[解決済み] iOSアプリケーションの最上位ビュー/ウィンドウへの参照取得
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Objective-Cのクラス→文字列のようなものです。[NSArray className] -> @"NSArray" のようになります。
-
[解決済み] error: Writeable atomic property cannot pair with synthesized setter/getter and the user defined setter/getter.
-
[解決済み] なぜObjective-Cはプライベートメソッドをサポートしないのですか?
-
[解決済み] NSURLをローカルファイルのパスに変換する
-
[解決済み] Objective-Cでオブジェクトのプロパティリストを取得する
-
[解決済み] AppDelegateからストーリーボード上の異なる場所で条件付きで開始する。
-
[解決済み] NSTimeInterval(秒)を分単位に変換する方法
-
[解決済み] Xcodeでプリプロセッサ・シンボルを定義する方法
-
[解決済み] 宣言されたプロパティは、対応するインスタンス変数を必要としますか?
-
[解決済み] Xcodeバージョン(CFBundleShortVersionString)とビルド(CFBundleVersion)の違いについて