簡體   English   中英

如何以iOS Swift形式在控件之間添加控件

[英]how to add controls between controls in ios swift form

這是我頁面的默認視圖: 第一視角

如果用戶選擇性別為“男性”,則需要在“性別”和“年齡”之間再添加一個文件,如下所示: 男性選擇后

選擇“男性”后,如果再次重置性別框,則需要將所有其他控件移至底部。 需要隱藏新添加的文本字段,然后將其他控件上移回原始位置。

如何在IOS Swift中做到這一點,如果我在兩者之間添加textview,在自動布局中需要注意哪些步驟?

如果將文本字段放在tableview單元格中,則只需將其插入源中並將其從源中刪除,即可添加/隱藏所需的單元格

我不喜歡這種形式,看起來也不是“本機”。 為了實現這一點,您可以創建一個動態表,並且當用戶點擊一個單元格時,您可以插入或刪除某個位置的多余行,甚至可以使用一種本機動畫:

[self.models removeObjectAtIndex:indexPath.row];
[self syncModel];
[self.tableView beginUpdates];
[self.tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationFade];
[self.tableView endUpdates];

另一種選擇是創建靜態表並以編程方式顯示和隱藏單元格

根據您的評論,您正在使用UIView。

所以,

  1. 當您將“ UIView的性別增加高度”更改為(textControl的高度+ gap b / w 2控件的高度)時

  2. 將“性別控制”(僅Y位置)之后的所有控件的中心更改為(“ textControl的高度+空白b / w 2個控件”)[對於所有控件]

  3. 創建/(隱藏/顯示)移動控件,並將Center屬性設置為Gender Control之后(Height + Gap b / w 2控件)

在uiview.animation中進行上述任務,以便每次更改看起來都很漂亮。

UIView創建2個子視圖,一個視圖位於性別文本視圖旁邊,並將其高度設置為“ 0”,因此第一個視圖的框架為(20,100,150,0),添加移動文本視圖,在第二個視圖中,添加age和blabla等。

當男性選擇性別時,請更改第一個視圖的框架,使其變為(20,100,150,50),並更改第二個視圖的“ Y”。

您可以使用自動布局來實現。 我在我的一個項目中實現了同樣的目標。

您需要執行以下操作

1>當您使用xib或通過代碼創建視圖時,還要為移動設備創建文本字段。
2>將該textfiled高度限制設為0
3>隱藏該字段4>為移動文本文件的0高度約束創建IBOutlet。
5>選擇“性別”后,將此高度限制從0更改為文本文件的DEFAULT_HEIGHT。
6>所有其他文本字段將自動調整

這是我的示例代碼

[self.dropOffLocationHeightConstraint setConstant:64.0];
[self.dropOffLocationView setHidden:FALSE];
[self.view layoutIfNeeded]; 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM