タグ付けされた質問 「objective-c」

このタグは、Objective-C機能に関する質問または言語のコードに依存する質問でのみ使用する必要があります。タグ[cocoa]および[cocoa-touch]は、Appleのフレームワークまたはクラスについて質問するために使用する必要があります。これらのプラットフォームに固有の問題には、関連タグ[ios]、[macos]、[apple-watch]、および[tvos]を使用します。

5
UIColorのアルファを調整する
UIColorusing rgbをの背景に設定しましたUILabel。調整alphaのみを行っています。既存のRGBのアルファを変更するにはどうすればよいUIColorですか? 編集する 基本的にはUILabelsセットがありますUIColor(rgbを使用して)色がわかりませんUILabels。ある時点で、labelsアルファを変更する必要があります。ラベルのカラーアルファを変更するにはどうすればよいですか?

16
UIButtonsの背景色を変更することは可能ですか?
これは私が困惑しています。 Cocoa for iPhoneでUIButtonの背景色を変更することはまったく可能ですか?背景色を設定してみましたが、角だけが変わります。setBackgroundColor:そのようなものに利用できる唯一の方法のようです。 [random setBackgroundColor:[UIColor blueColor]]; [random.titleLabel setBackgroundColor:[UIColor blueColor]];

17
「View Controllerから」はUIViewControllerContextTransitioningを使用して消えます
1つの問題が発生しました。以下で説明します。 UIViewControllerContextTransitioningカスタムトランジションに使用しています。 2つのビューコントローラー、最初のビューコントローラーと2番目のビューコントローラーがあります。 次に、アニメーション付きの最初のビューコントローラーに2番目のビューコントローラーを追加します。私はそれを達成しました。2番目のビューコントローラーは透明になり、2番目のビューコントローラーの下に最初のビューコントローラーが表示されます。 しかし、最初のビューコントローラーが表示されず、2番目のビューコントローラーの下に黒い画面しか表示されません。 -(void)animateTransition:(id<UIViewControllerContextTransitioning>)transitionContext{ self.transitionContext = transitionContext; if(self.isPresenting){ [self executePresentationAnimation:transitionContext]; } else{ [self executeDismissalAnimation:transitionContext]; } } -(void)executePresentationAnimation:(id<UIViewControllerContextTransitioning>)transitionContext{ UIView* inView = [transitionContext containerView]; UIViewController* toViewController = [transitionContext viewControllerForKey:UITransitionContextToViewControllerKey]; UIViewController* fromViewController = [transitionContext viewControllerForKey:UITransitionContextFromViewControllerKey]; CGRect offScreenFrame = inView.frame; offScreenFrame.origin.y = inView.frame.size.height; toViewController.view.frame = offScreenFrame; toViewController.view.backgroundColor = [UIColor clearColor]; fromViewController.view.backgroundColor = …

9
Xcodeでプログラムによってボタンにアクションを追加するにはどうすればよいですか
インターフェイスビルダーからドラッグしてボタンにIBActionを追加する方法を知っていますが、プログラムでアクションを追加して時間を節約し、頻繁に切り替えられないようにします。解決策はおそらく本当に簡単ですが、検索しても答えが見つからないようです。ありがとうございました!

6
Swiftネイティブ基本クラスまたはNSObject
私はSwiftでいくつかのisa swizzlingをテストし、NSObjectがスーパークラス(直接またはさらに上位)である場合、または '@objc'装飾を使用する場合にのみ機能することを発見しました。それ以外の場合は、C ++のような静的およびvtable-dispatchスタイルに従います。 Cocoa / NSObject基本クラスなしでSwiftクラスを定義するのは正常ですか?私が心配しているのであれば、これは、メソッドのインターセプトやランタイムイントロスペクションなど、Objective-Cのダイナミズムの大部分を先導することを意味します。 動的な実行時の動作は、プロパティオブザーバー、コアデータ、アスペクト指向プログラミング、高次メッセージング、分析およびロギングフレームワークなどの機能の中心に位置しています。 Objective-Cのメソッド呼び出しスタイルを使用すると、メソッド呼び出しに約20のマシンコードオペランドが追加されるため、特定の状況(小さなボディを持つメソッドへの多くの厳密な呼び出し)では、C ++スタイルの静的およびvtableディスパッチのパフォーマンスが向上します。 しかし、一般的な95-5ルール(パフォーマンス向上の95%はコードの5%のチューニングから得られる)を考えると、強力な動的機能から始めて、必要に応じて強化することは理にかなっていますか?

20
UILabelが切り捨てられているかどうかを確認するにはどうすればよいですか?
私が持っているUILabel私のアプリは、iPhoneやiPad上の肖像画や風景モードで実行されているかどうかに応じて、長さを変えることができることを。テキストが長すぎて1行で表示できない場合は、ユーザーがそれを押して全文のポップアップを表示できるようにしたいと考えています。 UILabelがテキストを切り捨てているかどうかを確認するにはどうすればよいですか?可能ですか?現在、私は自分のモードに基づいてさまざまな長さをチェックしているだけですが、うまく機能しません。

6
ブロックベースのAPIメソッドでnull以外およびnull許容のObjective-Cキーワードを使用する方法
次の方法を検討してください - (void)methodWithArg:(NSString *)arg1 andArg:(NSString *)arg2 completionHandler:(void (^)(NSArray *results, NSError *error))completionHandler; 新しいキーワードnonnullとnullable アノテーションキーワードを使用すると、次のようにキーワードを強化できます。 - (void)methodWithArg:(nonnull NSString *)arg1 andArg:(nullable NSString *)arg2 completionHandler:(void (^)(NSArray *results, NSError *error))completionHandler; ただし、次の警告も表示されます。 ポインターにヌル可能型指定子(__nonnullまたは__nullable)がありません 3番目のパラメーター(ブロック1)を参照します。 ドキュメントには、ブロックパラメータのNULL値の許容を指定する方法の例をカバーしていません。それは逐語的に述べています 型が単純なオブジェクトまたはブロックポインターである限り、左かっこの直後に、アンダースコアなしのフォームnull可能およびnullなしを使用できます。 ブロックの2つのキーワードの1つを(任意の位置に)運がなくても入れてみました。また、アンダースコア付きのバリアント(__nonnullおよび__nullable)も試しました。 したがって、私の質問は次のとおりです。どのようにして、ブロックパラメーターのnull可能性セマンティクスを指定できますか

12
NSTimeInterval(秒)を分に変換する方法
seconds特定のイベントから渡された金額を受け取りました。NSTimeIntervalデータ型で保存されます。 私はに変換したいminutesとseconds。 たとえば、「326.4」秒あり、「5:26」という文字列に変換したいとします。 この目標を達成するための最良の方法は何ですか? ありがとう。

30
UICollectionViewのcellForItemAtIndexPathが呼び出されていません
UICollectionViewを使用するのは2回目だけであり、おそらく私が噛むことができる量を超えて噛んでしまいましたが、 サブクラス化したカスタムUICollectionViewCellを使用するUICollectionView(myCollectionView)を実装しています。サブクラス化されたセル(FullReceiptCell)にはUITableViewが含まれており、ビューコントローラーのサイズです。FullReceiptCells間の水平スクロールを可能にしようとしています。 myCollectionViewを含むサブクラス化されたUICollectionViewControllerは、ナビゲーションコントローラースタックにプッシュされます。現在、myCollectionView loasと水平スクロールが有効になっています。ただし、セルは表示されません。私はそれを確認しました - (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section が実行され、0より大きい整数を返しています。また、myCollectionViewのデリゲートとデータソースがサブクラス化されたUICollectionViewControllerのIBで適切に設定されていることも確認しました。 セルをロードする方法: - (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath 呼び出されていません。 ここで、コントローラー内でUICollectionViewControllerと私のviewDidLoadメソッドをプッシュします(注:initWithBillは通常の初期化子のオーバーライドです)。 以前のViewControllers .mファイルでは: FullReceiptViewController *test = [[FullReceiptViewController alloc] initWithBill:currentBill]; test.title = @"Review"; [self.navigationController pushViewController:test animated:YES]; FullReceiptViewController.m内: - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view from its nib. …


5
UITableViewの選択されたインデックスを取得します。
のインデックスを選択しますUITableView。私は次のコードを書きました: NSIndexPath *index = [NSIndexPath indexPathForRow:1 inSection:0]; [tableView scrollToRowAtIndexPath:index atScrollPosition:UITableViewScrollPositionTop animated:YES]; これは常に最初のアイテムで機能します。インデックスを選択したいindexPathForRow. 助けてください。ありがとう。

16
画像が小さい場合でも、UITableViewCellのImageViewを固定サイズにする方法
セルの画像ビューに使用している画像がたくさんあります。それらはすべて50x50以下です。例:40x50、50x32、20x37 ..... テーブルビューをロードすると、画像の幅が変化するため、テキストが整列しません。また、左側ではなく中央に小さな画像を表示したいと思います。 これが「cellForRowAtIndexPath」メソッド内で私が試しているコードです cell.imageView.autoresizingMask = ( UIViewAutoresizingNone ); cell.imageView.autoresizesSubviews = NO; cell.imageView.contentMode = UIViewContentModeCenter; cell.imageView.bounds = CGRectMake(0, 0, 50, 50); cell.imageView.frame = CGRectMake(0, 0, 50, 50); cell.imageView.image = [UIImage imageWithData: imageData]; ご覧のとおり、私はいくつかのことを試しましたが、どれもうまくいきません。



4
キーチェーンアイテムをユニークにする理由(iOSの場合)
私の質問は、iOS(iPhone、iPadなど)のキーチェーンに関係します。Mac OS Xでのキーチェーンの実装は、同じ答えで同じ質問を引き起こすと思います(しかし、確信はありません)。 iOSでは、5種類(クラス)のキーチェーンアイテムを提供しています。kSecClassタイプを判別するには、キーに対してこれらの5つの値のいずれかを選択する必要があります。 kSecClassGenericPassword used to store a generic password kSecClassInternetPassword used to store an internet password kSecClassCertificate used to store a certificate kSecClassKey used to store a kryptographic key kSecClassIdentity used to store an identity (certificate + private key) リンゴのドキュメント、ブログやフォーラム・エントリーを読み取る長い時間の後、私はタイプのキーチェーン項目があることが分かったkSecClassGenericPassword属性からそのユニークさを取得しkSecAttrAccessGroup、kSecAttrAccountそしてkSecAttrService。 リクエスト1の3つの属性がリクエスト2の属性と同じである場合、他の属性に関係なく、同じ汎用パスワードキーチェーンアイテムを受け取ります。この属性の1つ(または2つまたはすべて)がその値を変更すると、異なるアイテムが取得されます。 ただしkSecAttrService、タイプのアイテムでのみ使用できるためkSecClassGenericPassword、他のタイプのアイテムの「一意のキー」の一部にすることはできません。また、キーチェーンアイテムを一意に決定する属性を明確に指摘するドキュメントはないようです。 「GenericKeychain」の「KeychainItemWrapper」クラスのサンプルコードでは、属性kSecAttrGenericを使用してアイテムを一意にしていますが、これはバグです。この例の2つのエントリは、それらkSecAttrAccessGroupが異なるため(1つはアクセスグループセットを持ち、もう1つは解放できるため)、2つの異なるエントリとしてのみ格納されます。Appleを使用して、アクセスグループなしで2番目のパスワードを追加しようとすると、KeychainItemWrapper失敗します。 だから、私の質問に答えてください: それは、真実であることの組み合わせkSecAttrAccessGroup、kSecAttrAccountおよびkSecAttrServicekSecClassがあるキーチェーン項目の「一意のキーは」ありますかkSecClassGenericPassword? その場合は、どの属性がキーチェーン項目がユニークなのkSecClassではありませんかkSecClassGenericPassword?

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.