我有一个iPad popover,并希望在分段控件中呈现(指向)一个片段。下面的代码工作正常,除了指针指向分段控件的中间 - 我希望它指向正确的段。即段0或段1。
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
[printController presentFromBarButtonItem:self.navigationItem.rightBarButtonItem animated:YES completionHandler:completionHandler];// iPad
}
非常感谢。
答案 0 :(得分:5)
下面的代码可能有助于将popover指向段控件中的选定选项卡。
CGRect frame = [segmentControl frame];
frame =CGRectMake((frame.size.width/No. of segments * [segmentControl selectedSegmentIndex]), 0, frame.size.width/No. of segments, segmentControl.bounds.size.height);
[m_PopOver presentPopoverFromRect:frame inView:segmentControl permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
答案 1 :(得分:0)
尝试这样的事情(将desiredSegmentIndex替换为箭头应指向的段的索引):
CGFloat desiredOffset = 0;
for (NSUInteger segmentIndex = 0; segmentIndex < desiredSegmentIndex; segmentIndex ++)
desiredOffset += [segmentedControl widthForSegmentAtIndex:segmentIndex];
[printController presentFromRect:CGRectMake(desiredOffset, 0, [segmentedControl widthForSegmentAtIndex:desiredSegmentIndex], segmentedControl.bounds.size.height);
inView:segmentedControl
animated:YES
completionHandler:completionHandler];
我没有对此进行测试,但它(或类似的东西)应该可以正常工作。
答案 2 :(得分:0)
针对Swift 3.0进行了更新
matMult()