rcm*_*ark 27 iphone objective-c ios
我以编程方式创建一个scrollView和一些内部按钮.当我点击任何按钮时必须显示一个弹出窗口.
我的按钮在self.view中的起源就像(100,11),在scrollView(9,11)里面,scrowView在self.view的某个地方.弹出窗口显示在(9,11)但右边一个是(100,11).我尝试使用转换没有成功.
-(IBAction)showPopover:(id)sender{
//... implemented popover above
//Wrong Origin:
NSLog(@"wrong x:%f y:%f",[sender frame].origin.x, [sender frame].origin.y);
//Transform to correct
CGRect frame = [self.view convertRect:[sender frame] toView:nil];
//Shoulf be right, but is not...
NSLog(@"new x:%f y:%f",frame.origin.x, frame.origin.y);
}
Run Code Online (Sandbox Code Playgroud)
有人帮我吗?
Nik*_*uhe 79
视图的框架已经在superview的坐标系中.所以,如果你的设置是self.view
包含scrollview
包含sender
:
CGRect frame = [sender.superview convertRect:sender.frame toView:self.view];
// or, better:
CGRect frame = [sender convertRect:sender.bounds toView:self.view];
Run Code Online (Sandbox Code Playgroud)
Hem*_*ang 12
迅速:
let frame = sender.convert(sender.bounds, to: self.view)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
26738 次 |
最近记录: |