問題タブ [uibarbuttonitem]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
10 に答える
98478 参照

ios - UILabel を UIToolbar に追加する

ツールバーにラベルを追加しようとしています。ボタンはうまく機能しますが、ラベル オブジェクトを追加するとクラッシュします。何か案は?

0 投票する
2 に答える
2665 参照

iphone - UINavigationItem の永続的な rightBarButtonItem プロパティ

これはばかげた質問かもしれませんが、UIBarButtonItem管理されている複数のビューにわたって権利を保持することは可能UINavigationControllerですか? 多くの場合、同じ権限を共有する一連のビューがありますがUIBarButtonItem、新しいビューを自分の にプッシュするとUINavigationController、ボタンが変更されていなくても、毎回ボタンを再定義する必要があります。ほとんどの場合、あるビューから次のビューへの遷移アニメーションが気になるのは、まったく同じボタンが一時的にフェードアウトしてから元に戻るためです。実際の視覚的な変化がないため、これは不要です。UIButtonをサブビューとして追加することを検討し、UINavigationBarこの方法で「右バー ボタン」効果を達成する必要がありますか?

0 投票する
2 に答える
769 参照

iphone - UIToolBar - ボタンのオーバーフローを処理するには?

ツールバーのあるビューがあります。ツールバーの各ボタンは、ユーザーが作成している新しいメッセージを表しています。ビューの切り替えなどを処理する方法を理解するのに数日かかりました..しかし、すべてを理解した今、私はちょっとしたUIスナフに出くわしました.

11 個以上のボタンがある場合 (ユーザーは 11 個目を作成する前に最初の 10 個を実際に送信する必要がありますが、徹底的にしようとしています)、ボタンが画面の端からはみ出します。押すことができる追加のボタンがあることを示すインジケーターはありません (表示されているハーフボタンを除いて)。

以前にこのような状況に遭遇した人はいますか?どのように対処しましたか?

私の最初の考えは、(たとえば)8つ以上のボタンがある場合、プログラムで最初と最後のボタン「<」と「>」ボタンを作成し、[ツールバー項目]にボタンを削除して追加することで、ボタンを下にスライドさせます。 .

何かご意見は?

0 投票する
1 に答える
1607 参照

iphone - iPhone:UIBarButtonItemWidthを減らす方法は?

UIBarButtonItem を作成し、self.navigationItem.rightBarButtonItem をアイテムに設定しました。

ただし、barButtonItem の width プロパティを設定しても、ボタンの幅には影響がないようです (barButton の幅を縮小しようとしています)。

UIBarButtonItem のカスタム ビューを使用すると、ビューの幅を設定できます (それによって、barButton の幅が設定されます)。

ただし、標準の UIBarButtonItem のルック アンド フィールを取得したいと考えています。

カスタムビューを使用せずに UIBarButtonItem の幅を減らす方法を知っている人はいますか? (代わりに、UIBarButtonItemのように見えるUIViewまたはUIButtonを作成する方法を知っている人はいますか)

0 投票する
3 に答える
6027 参照

iphone - ボタンがクリックされると UIBarButtonItem が iPhone アプリをクラッシュさせる

上記のコードは、ボタンを作成してナビゲーション バーに追加するのに問題なく機能しますが、ボタンをクリックすると、EXC_BAD_ACCESS でアプリがクラッシュします。rButton.action = @selector(refreshAction); をコメントアウトすると、ボタンをクリックしても何も起こりませんが、クラッシュもしません。

このコードは、NavigationViewController viewDidLoad メソッドから navigationController スタックにプッシュされる TableViewController の viewDidLoad メソッドにあります。

これを機能させるためにおそらく3時間費やしましたが、役に立ちませんでした。

0 投票する
1 に答える
828 参照

iphone - ナビゲーション バーに不要な [編集] ボタンがありますか?

モーダル ビューを表示するために、アプリに次のコードがあります。

ただし、実行すると、ナビゲーション バーの右側にある [完了] ボタンの代わりに [編集] ボタンが表示されます。.rightBarButton を .leftBarButton に変更すると、予想どおり [完了] ボタンが左側に表示されますが、[編集] ボタンが再び右側に表示されます。

コードでこの不要な [編集] ボタンを特別に削除する必要がありますか、それとも最初から表示されている何か間違ったことをしていますか? 削除する必要がある場合、どうすれば削除できますか?

0 投票する
3 に答える
8282 参照

iphone - UIBarButtonItem の識別子プロパティをプログラムで変更する

Interface Builder を使用して、UIBarButtonItem の識別子を「追加」(または「元に戻す」、「やり直し」など) のようなものに変更することができます。これにより、ボタンに素敵な「+」画像が表示されます。

これをプログラムで設定するにはどうすればよいですか? UIBarButtonItem は「setIdentifier」メッセージを受け入れません。

0 投票する
1 に答える
1552 参照

iphone - UISegmentedControl のシャドウ効果?

UIToolbar にある UIBarButtonItem にある画像で UISegmentedControl を使用しています。「通常の」UIBarButtonItem に画像を使用すると、素敵な影の効果が自動的に適用されます。ただし、UIBarButtonItem に属する UISegmentedControl の画像には、同じことが自動的に適用されるわけではありません。この影の効果を適用するために UISegmentedControl をサブクラス化することを考えていましたが、これを実現するためにグラフィックス API をどこから始めればよいかよくわかりません。オーバーライドする必要があると思います:

  • (void)drawRect:(CGRect)rect;

しかし、それを超えると、どこに行くべきかわかりません。

出発点について何か提案はありますか?

もう 1 つのオプションは、シャドウ効果をソース イメージに直接適用することです。ただし、アイコン/グラフィック部門での私のスキルも、これを達成するのに十分ではありません。この効果を達成するのに役立つツールの提案はありますか? 多分ImageMagickか何かを介して?

助けてくれてありがとう!

0 投票する
29 に答える
167504 参照

ios - ナビゲーション コントローラーの [戻る] ボタンのアクションの設定

ナビゲーション コントローラーの [戻る] ボタンの既定のアクションを上書きしようとしています。カスタム ボタンでターゲット アクションを指定しました。奇妙なことに、backbutton 属性を使用して割り当てると、それらに注意が払われず、現在のビューがポップされてルートに戻るだけです。

を介して設定するとすぐにアクションが呼び出されますが、ボタンは矢印のleftBarButtonItem付いたnavigationItemものではなく、単純な丸いもののように見えます。

ルート ビューに戻る前にカスタム アクションを呼び出すにはどうすればよいですか? デフォルトの戻るアクションを上書きする方法はありますか、またはビューを離れるときに常に呼び出されるメソッドがありますか (viewDidUnloadそうしません)?

0 投票する
2 に答える
12249 参照

iphone - IPhone のセレクターで引数を渡す

アニメーション ブロックで 2 つのビューを交換するアクションを呼び出す barButtonItem があります。呼び出すアクション メソッドの先頭でを無効にbarButtonItemし、終了時に有効にして、ユーザーが反転が完了する前にビューを再度反転できないようにします。

これは UIView アニメーション ブロックで行われるため、メソッドのネッドで有効にすると、アニメーションが終了する前に有効になるため、瞬時に実行されて目的が失われます。

このメソッドでは、sender を UIBarButtonItem にキャストし、それを無効にします。だから私は見つけまし[UIView setAnimationDidStopSelector:@selector()]たが、セレクターに私のbarButtonItemを渡す必要があるので、enableControlメソッドがそれを有効にします(匿名関数を作成できれば、これはずっと簡単になります..)。

では、barButton を引数として渡すにはどうすればよいでしょうか。このためだけにivarを作成する必要はありません..コードは次のとおりです。


これが私が変更したものですが、メソッドが呼び出されていません..何が間違っていますか?


編集:私はそれを理解しました。ボタンをコンテキストにしてsetAnimationDelegate:selfからsetAnimationDidEndSelector:@selector(myMethod:finished:context:)、メソッドでコンテキストをキャストしuibarbuttonitemて再度有効にする必要がありました。