我有4 UIViewController
即vcA,vcB,vcC和vcD。現在,vcB有一個tableView
兩行。並且vcB在vcA上被子視圖與iPad的設置屏幕一樣。直到這裏,它的工作正常,但我需要如果我點擊vcB的tableView的第一個單元格,然後vcC應該在另一半側subViewed,類似地通過選擇vcB的tableview的第二個單元格vcD應subViewed和vcC應該刪除。委託子視圖
這裏是我的屏幕:
假設U選擇 「選擇國家」 外,其他VCC的觀點,應該選擇 「通知」 VCD subviewd &與之相似,應subViewed和VCC應該刪除。 ,不要擔心框架,我會設置。假設父視圖是vcA。
在這裏,我嘗試了delegate
,但在子視圖delegate
不工作我認爲,它可以通過NSNotificationCenter
可能,但有沒有其他方式來做到這一點?
謝謝任何幫助將不勝感激。
更新
繼我使用得到的結果的方式。但我知道它不是正確的方式,也沒有發生我正在尋找的東西。
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
print(indexPath.section)
print(indexPath.row)
if UIDevice.Display.typeIsLike == UIDevice.DisplayType.ipad {
let iPadVc = iPadSettingViewController()
if indexPath.section == 0 && indexPath.row == 0 {
var sliderVC: SettingsViewController! = nil
sliderVC = self.storyboard?.instantiateViewController(withIdentifier: "SettingsViewController") as! SettingsViewController
sliderVC.view.frame = CGRect(x:0, y: 64, width: CGFloat((iPadVc.view.frame.size.width)/2.4), height: CGFloat(iPadVc.view.frame.size.height-64))
iPadVc.view?.addSubview(sliderVC.view)
}
else if indexPath.section == 0 && indexPath.row == 2 {
var countryVC : CountryViewController! = nil
countryVC = self.storyboard?.instantiateViewController(withIdentifier: "CountryViewController") as! CountryViewController
countryVC.view.frame = CGRect(x:CGFloat((iPadVc.view.frame.size.width)/2.4), y: 64, width: CGFloat((iPadVc.view.frame.size.width) - (iPadVc.view.frame.size.width)/2.4), height: CGFloat(iPadVc.view.frame.size.height-64))
iPadVc.view?.addSubview(countryVC.view)
}
}
}
添加視圖控制器更換的代碼,這你嘗試。這僅適用於iPad嗎?你也支持iPhone嗎? – Subramanian
@Subramanian它僅適用於iPad,而對於iPhone而言,屏幕會以不同的方式出現,我將這一切都用於iPhone,但是卻堅持用於iPad。 :/ –
你可以添加你試過的代碼嗎? – Subramanian