我正在尝试将UINavigationController
子类化为在其UINavigationBar
下添加自定义子视图。问题是当我将自定义UINavigationController
设置为rootViewController
的{{1}}时,window
位置发生了更改,因此我想相应地更新自定义视图的位置。我的问题是我应该在哪里放置代码来更新自定义视图。
UINavigationBar
答案 0 :(得分:0)
您要做的是响应导航控制器视图的子视图的位置。子视图的定位称为 layout ,并在layoutSubviews
中进行。因此,您可以尝试实施viewDidLayoutSubviews
,layoutSubviews
之后立即调用if ($_POST['action'] == 'getentity') {
$value= $entity;
$content .= '<div>'.$value.' hello</div>';
}
<form method="post" action="?">
<input type="text" name="TownID_display" size="50" onkeyup="javascript:ajax_showOptions(this,\'getEntitiesByLetters\',event)">
<input type="text" name="TownID" id="TownID_display_hidden" value="'.$entity.'" />
<input type="hidden" name="action" value="getentity" />
<input type="submit" name="submit" value="Find"/>
。请注意,它可以多次调用,但您可能只想添加一次子视图,因此请务必添加适当的警卫。
答案 1 :(得分:0)
您可以强制ViewController的“视图”在UINavigationBar下面扩展。这里有一些代码可以帮助你,它不是Swift,它是ObjC,但你会明白这一点。这是我自己实现的UIVeiwController子类。我还有UINavigationController和UINavigationBar的完整实现来调整UINavigationBar的点大小。我可以告诉你,你可以按照我在这里链接的代码来完成Apple在他们的例子中所做的事情。
[[[self navigationController] navigationBar] setBackgroundImage:[UIImage new] forBarMetrics:UIBarMetricsDefault];
[[[self navigationController] navigationBar] setShadowImage:[UIImage new]];
[[[self navigationController] navigationBar] setTranslucent:TRUE];
[[[[self navigationController] navigationBar] layer] setShadowOpacity:0.0f];
[[[[self navigationController] navigationBar] layer] setShadowOffset:CGSizeMake(0.0f, 0.0f)];