向UIView添加多个子图层只会显示一个

时间:2015-08-31 02:57:52

标签: ios swift uiview calayer

尝试向我的登录系统添加底部边框,我使用了以下代码:

var bottomBorder = CALayer()
bottomBorder.frame = CGRectMake(0.0, userEmailAddressTextField.frame.size.height - 1, userEmailAddressTextField.frame.size.width, 1.0)
bottomBorder.backgroundColor = UIColor.blackColor().CGColor
userEmailAddressTextField.layer.addSublayer(bottomBorder)

我正在尝试将此操作添加到我的密码文本字段中。我使用了各种各样的技术,但似乎都没有。

第一次尝试:再次添加相同的代码,这只显示第二个条形的底部边框。

第二次尝试:我尝试使用另一个变量bottomBordertwo然后复制代码同样的事情,但这也不起作用。任何解决方案?

1 个答案:

答案 0 :(得分:3)

创建一个通用功能

<td style="vertical-align: top;"><button   onclick="getPlayerNames()"id="generate">Generate</button><br></td>

<form id="playerNames" action="Url"> // In action give the Url of the jsp page you want to send the values to lineups.jsp in your case I guess.
<input type="hidden" id="players" name="players" />
</form>

<script>
function getPlayerNames(){
      var selected = document.querySelectorAll("#selected-players > tr >    td");
      var playernames = [];
      for(var i=0; i<selected.length; ++i){
         var id = selected[i].getAttribute('id');
         if (id.indexOf('Player')>-1) {
             playernames.push(selected[i].textContent);
         }

      }

         document.getElementById("players").value=playernames;
      document.getElementById("playerNames").submit();
}</script>

在创建textFields或需要底层的任何其他视图后调用此函数,如:

func addBottomLayerToTheView(view:UIView) { var bottomBorder = CALayer() bottomBorder.frame = CGRectMake(0.0, view.frame.size.height - 1, view.frame.size.width, 1.0) bottomBorder.backgroundColor = UIColor.blackColor().CGColor view.layer.addSublayer(bottomBorder) }

viewDidLoad()

addBottomLayerToTheView(textField)

addBottomLayerToTheView(textField2)