0
iOSプロジェクトでAndroidに存在する「チップ」コンポーネントを再作成するGitHubプロジェクトを使用しています。私はSwiftにこのObjective-Cコードを書こうとしています:viewWithTag Swiftオプションを使用してビューを作成する
NSArray *nibContents = [[NSBundle mainBundle] loadNibNamed:@"TokenView" owner:nil options:nil];
UIView *view = nibContents[0];
UILabel *label = (UILabel *)[view viewWithTag:2];
UIButton *button = (UIButton *)[view viewWithTag:3];
[button addTarget:self action:@selector(tokenDeleteButtonPressed:) forControlEvents:UIControlEventTouchUpInside];
label.text = self.tokens[index];
CGSize size = [label sizeThatFits:CGSizeMake(1000, 40)];
view.frame = CGRectMake(0, 0, size.width + 97, 40);
return view;
これは私がこれまで持っているものです。
let view = Bundle.main.loadNibNamed("TokenView", owner: nil, options: nil)?[0] as? UIView
if let imageView = UIImageView().viewWithTag(1) as? UIImageView {
imageView.image = UIImage(named: "pic.png")
}
if let label = UILabel().viewWithTag(2) as? UILabel {
label.text = (tokens[Int(index)] as! NSString) as String
let size = (label.sizeThatFits(CGSize(width: 1000, height: 40)))
view?.frame = CGRect(x: 0, y: 0, width: size.width + 97, height: 40)
}
if let deleteButton = UIButton().viewWithTag(3) as? UIButton {
deleteButton.addTarget(self, action: #selector(tokenDeleteButtonPressed(tokenButton:)), for: .touchUpInside)
}
return view
私がいる問題はUILabel、UIButtonとUIImageViewはすべてゼロであると、私は理由を把握するように見えることができないということです。 私はそれをデバッグし、それぞれの説明を印刷しようと私が得るすべては、私は、読書optionals上のビデオを見て、私はシンプルなためにそれを使用する方法を理解してきたUIImageView(範囲外)
で見ます場合は、これはもう少し複雑なようです。
それです。ところで、Xcodeはあなたのコードにエラーを表示しています。 imageview、label、およびbuttonを作成するときに、 'let let label = view?.viewWithTag(2)as? UILabel'その後、意図どおりに動作します。ありがとう。 – Alex
申し訳ありません私はそれを更新することを忘れていました。 – Vinodh