9

XCode と IB でビューにラベルを追加するのと同じくらい簡単なことをしようとしていますが、その方法がわかりません。私がオンラインで見つけたすべてのサンプルは古いバージョンの IB 用であるため、指示が正しくありません。

.xib ファイルにラベルがあり、Controller.h ファイルには、プロパティ設定で宣言された IBOutlet UILabel があります。

Controller.m ファイルで、そのプロパティを合成しました。

Interface Builder では、自分のコード内のラベルを .xib のラベルに関連付ける方法を一生理解できません。接続をファイルの所有者にドラッグしようとするたびに、表示される唯一のオプションは「表示」です。

Interface Builder の Library Window の下にある Controller を見ると、Label は Outlets の下に UILabel として表示されます。以前は「id」タイプだったと確信していますが、自動的に UILabel として表示され、「id」タイプを追加しようとしても機能しません。

このばかげたことを説明するために、誰か私にどこかを教えてもらえますか? ラベルにテキストを持たせるのはそれほど難しいことではありません。

4

5 に答える 5

8

ビューが ExampleView と呼ばれるとします。ファイルの所有者をクリックし、⌘+4 を押します。これにより、ID ボックスが強調表示されます。クラス名がクラスの名前と同じであることを確認してください。

Interface Builder を保存して閉じ、Xcode に移動して以下を確認します。

// ExampleViewController.h
#import <UIKit/UIKit.h>

@class ExampleViewController;
@interface ExampleViewController : UIViewController {

    IBOutlet UILabel *label;
}

@property (retain, nonatomic) IBOutlet UILabel *label;

@end

.m ファイルで:

// ExampleViewController.m
#import "ExampleViewController.h"

@implementation ExampleViewController

@synthesize label;

次に、xcode ファイルを保存し、ExampleView を開きます。ラベルをビューにドラッグします。そのラベルをファイルの所有者に関連付けることは想定されていません。

ファイル所有者をクリックする代わりに。HIT ⌘+2 接続ボックスが開きます。次に、アウトレットが表示されます。クリックしてラベルに接続します。

于 2010-09-30T01:00:13.993 に答える
3

プロパティ ラインが次のようになっていることを確認します。

@property (nonatomic, retain) IBOutlet UILabel *label;

ラベルのタイプはUILabelInterface Builder のまま (または設定) します。それでもうまくいかない場合は、Interface Builder で File -> Reload All Class Files を試してください。コードは適切に見えますが、CardNameLabel は小文字の「c」で開始する必要があります。

于 2010-09-30T00:58:22.547 に答える
2

これを試してください: ファイルの所有者アイコンをクリックして選択し、インスペクタの [ID] タブ (4 番目のタブ) に移動して、Class設定の値を確認します。私の推測では、現在は に設定されていUIViewControllerます。

宣言した を持つクラスはIBOutletのサブクラスである (またはそうあるべき) ためUIViewController、クラス名をサブクラスの名前に変更する必要があります (たとえば、MyController、または現在名前が付けられているもの)。

于 2010-09-30T00:59:12.807 に答える
0

これにUILabelを持つviewControllerとxibファイルがあると仮定します。UiLabel(およびxibファイル)をviewControllerに接続する手順は次のとおりです。

1)ヘッダーファイルで、UiLabelオブジェクトとそのプロパティを作成します

IBOutlet UILabel *label;

@Property (Nonatomic, retain) IBOutlet UILabel *label;

実装ファイルで同期します

2)InterfaceBuilderでxibファイルを開きます

「ファイルの所有者」をダブルクリックし、ポップアップウィンドウのドロップダウンリストでviewControllerを選択して、xibファイルをコントローラーに接続します

3)ポップアップダイアログで、ファイルの所有者を右クリックします。

  • [表示]の横にあるぬいぐるみ(+)をポイントしてドラッグし、[表示]行にドロップします
  • 「ラベル」の横にあるぬいぐるみ(+)をポイントしてドラッグし、ビューのラベルにドロップします

=>これで、ラベルとxibファイルのビューがコントローラーに接続されました

于 2010-09-30T09:01:59.093 に答える