Ios 如何通过viewController2上的按钮在viewController1上执行操作?
因此,我有viewcontroller1和一个Ios 如何通过viewController2上的按钮在viewController1上执行操作?,ios,swift,uiscrollview,uibutton,Ios,Swift,Uiscrollview,Uibutton,因此,我有viewcontroller1和一个UIScrollview,可以让它移动。我有一个Home按钮,按下该按钮后,滚动视图将移动到所需位置。 那部分很好用 import UIKit class ViewController: UIViewController { @IBAction func home(sender: AnyObject) { if (scrollView != nil){ scrollView.scrollRectTo
UIScrollview
,可以让它移动。我有一个Home
按钮,按下该按钮后,滚动视图将移动到所需位置。
那部分很好用
import UIKit
class ViewController: UIViewController {
@IBAction func home(sender: AnyObject) {
if (scrollView != nil){
scrollView.scrollRectToVisible(CGRectMake(8, 1004, 359, 496), animated: true)
}
}
@IBOutlet var scrollView2: UIScrollView!
@IBOutlet weak var label: UILabel!
@IBOutlet weak var scrollView: UIScrollView!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
if (scrollView2 != nil){
scrollView2.contentSize.height = 5000
scrollView2.contentSize.width = 375
}
if (ScrollView != nil){
scrollView.contentSize.height = 5000
scrollView.contentSize.width = 375
}
}
}
我有一个第二个视图控制器,它从第一个视图控制器显示为一个Push
segue。此视图控制器还有一个名为Home
的ui按钮。当我单击viewController2中的Home
按钮时,我想返回viewController1并在那里执行Home
操作,以在viewController1中定位滚动视图
我怎样才能在斯威夫特做到这一点?谢谢 您希望按下viewController2中的Home按钮,返回viewController1并执行一个方法来定位滚动视图
对于此任务,您可以使用“展开”序列。在初始viewController中的home
函数的正下方,添加一个名为goHome
的方法:
@IBAction func home(sender: AnyObject) {
if (scrollView != nil) {
scrollView.scrollRectToVisible(CGRectMake(8, 1004, 359, 496), animated: true)
}
}
@IBAction func goHome(segue: UIStoryboardSegue) {
// Call the home method to position the scrollView
home(self)
}
然后在故事板中,控制从viewController2的Home按钮拖动到viewController顶部的Exit
图标,并从弹出窗口中选择goHome
然后,当您运行应用程序并在viewController2中按Home键时,它将返回viewController1并调用Home
,以将滚动视图定位到您想要的位置。由于视图控制器的结构并不明显,所以不清楚您在问什么-滚动视图与任何事情有什么关系?旁注:变量和方法名称应以驼峰大小写:scrollView
和home
。我将home按钮链接到scrollView,因此当我单击home时,它会转到该位置,但当我将home放在新的ViewController(即ViewController2)中时,我希望它这样,当我点击home时,它会转到ViewController2是初始视图控制器,即ViewController1,然后自动滚动到我放在其中的x、y、w、h。如果您使用的是uinavigationcontroller
,请调用popViewControllerAnimated:
-您提供的有关当前设置的信息太少。我将所有信息都放在这里,这足以帮助我吗?基本上,我需要一个按钮,当我按下它时,它将转到另一个ViewController,指向UIScrollViews的Y点。非常感谢,我现在就去练习。我还有一个问题,在ViewController 2中,我有一个“返回”UIButton连接到ViewController 1,这样我就可以返回到它。当我在scrollView上的某个位置时,我是否可以转到viewController2,当我点击back而不是viewController2中设置的UIButtons时,我是否可以回到我离开的原始位置?我知道从viewController1到2的这一部分,但不知道当我从viewController2到1时如何保持在原始位置。谢谢你在另一方面帮助我,我将练习一下你的后退按钮是如何连接的?是导航控制器提供的默认按钮,还是您刚刚添加了一个名为ui按钮
的Back
,该按钮使用按键序列返回VC1?刚刚添加了一个名为ui按钮,该按钮使用按键序列返回VC1您不想使用按键序列返回VC1。推送序列创建VC1的新副本。你想要像我上面展示的那样使用一个放松的阶段。在VC1中创建第二个登陆点@IBAction func returnHere(segue:UIStoryboardSegue){//now to do here now}
,然后连接Back
按钮退出图标并选择returnHere
。然后,当您按Back
时,您将回到VC1,与您离开时完全相同。