IOS Swift中是不是存在Android java getResource.getIdentfier?
Posted
技术标签:
【中文标题】IOS Swift中是不是存在Android java getResource.getIdentfier?【英文标题】:Is Android java getResource.getIdentfier exist in IOS Swift?IOS Swift中是否存在Android java getResource.getIdentfier? 【发布时间】:2017-02-21 06:00:37 【问题描述】:我的应用程序有很多数据。所以有这么多的文本字段。因此,我想以同样的方式在 ios swift 中管理 textView。
area1Layer = new TextView[25];
for(int k = 0; k < layer1; k++)// 층수 SET
area1Layer[k] = (TextView)findViewById(getResources().getIdentifier("layer"+(k+1),"id","kr.soen.areacard"));
area1Layer[k].setText(Integer.toString(k + 1) + "0" +ho1);
【问题讨论】:
您可以使用标签进行管理。 【参考方案1】:我假设您想分别识别相应的 UITextField/UITextView。这可以通过为相应的文本字段/文本视图分配不同的标签来完成。
let textField1: UITextField = UITextField()
textField1.tag = 1
let textField2: UITextField = UITextField()
textField2.tag = 2
在 UITextFieldDelegate 方法中,
func textFieldShouldBeginEditing(_ textField: UITextField) -> Bool
if textField.tag == 1
//Type your code here
if textField.tag == 2
//Type your code here
您还可以为每个文本字段/文本视图分配出口,并使用出口进行检查。
@IBOutlet weak var textField1: UITextField!
@IBOutlet weak var textField2: UITextField!
在 UITextFieldDelegate 方法中,
func textFieldShouldBeginEditing(_ textField: UITextField) -> Bool
if textField == textField1
//Type your code here
if textField == textField2
//Type your code here
对于 UITextView 也可以这样做。
【讨论】:
【参考方案2】:我相信您想分别识别每个UITextField
或UITextView
并相应地操纵它们。您可以通过以下方式进行:
let textView1: UITextView = UITextView()
textView1.tag = 1
let textView2: UITextView = UITextView()
textView2.tag = 2
self.view.addSubview(textView1)
self.view.addSubview(textView2)
为了在不同的视图对象之间进行识别,可以通过上述方式设置.tag
,在iOS
中使用.tag
属性。
要在swift
中将不同的UITextView
作为subView
添加到self.view
,您可以执行以下操作:
if let textViewObject: AnyObject = self.view.viewWithTag(2)
// first check is to identify if there is a given view with the tag
if let textView: UITextView = textViewObject as? UITextView
【讨论】:
将 textView1.tag = 2 更改为 textView1.tag = 1【参考方案3】:主要区别在于 iOS 使用基于数字的标签,而 android 使用文本键。你可以用两者来完成同样的事情。在 iOS 中,将所有标签存储在一个集合中并根据标签进行修改。用于设置标签的集合类型和语法细节取决于您编写视图的方式。
【讨论】:
【参考方案4】:通过界面生成器或view.tag = myTag;
设置标签后,您可以执行以下操作:
for (int x=0; x<strings.count; x++)
UITextView *view = [self.view viewWithTag:x];
view.text = strings[x];
【讨论】:
以上是关于IOS Swift中是不是存在Android java getResource.getIdentfier?的主要内容,如果未能解决你的问题,请参考以下文章
swift中的任何功能是不是类似于Android中的R.java?
使用 Swift 测试 UIApplicationOpenSettingsURLString 是不是存在
在 Swift 或 Java android 项目中使用 Xamarin 库
iOS:在 Swift 中动态设置 UITableView 高度