我知道如何以编程方式将UIButton添加到UIView。但是在上一个YPosition中添加了一定数量的UIButton之后,我仍然坚持在新的YPosition中添加UIButton。
以下是我的案例:
要添加的UIButtons数量来自NSArray - 我们需要20个
UIView已添加到UIViewController中 - 让我们调用
'buttonView'
我正在使用循环创建UIButton(最多20个)。我已经设定了 buttonWidth为70,buttonHeight为45
我正在获取屏幕尺寸并将其除以buttonWith,所以
计算每行可容纳的物品数量
或每个Y位置。
如果屏幕宽度为414,则414/70 = ~5.9,我将其视为
前5个UIButton的YPosition为0,XPosition从0开始,并为后续按钮添加buttonWidth。
接下来5个UIButtons(6-10)应该有新的YPosition为1-5 UIButton Yposition(0)+ buttonHeight(45)+ somespace(10)= 55和XPostion应该 从0开始。
对于下一组UIButtons(11-15),YPosition应为
Yposition(55)+ buttonHeight(45)+ somespace(10)= 100和XPosition
以0
如何实现这一目标?以下是我的代码
xPos = 8.0f;
yPos = 0.0f;
totalSlots =timeslots.Count - //Total Number UIButtons to be creted
buttonWidth = 70;
buttonHeight = 45;
buttonViewWidth = this.view.frame.size.width // I'm getting the screen
buttonPerLine = scrollViewWidth / (buttonWidth + 10); // This calculates no.of.buttons per line/Y Position. I'm rounding off as said before
numberOfLine = totalSlots / buttonPerLine // This gives how many lines needed
for (int i = 0; i < totalSlots; i++)
{
timeSlotbtn[i] = new UIButton();
timeSlotbtn[i] = new UIButton();
timeSlotbtn[i].Frame = new CGRect(xPos, yPos, buttonWidth, buttonHeight);
timeSlotbtn[i].SetTitle(buttonText, UIControlState.Normal);
timeSlotbtn[i].Layer.BorderWidth = 2.0f;
timeSlotbtn[i].Layer.CornerRadius = 3;
timeSlotbtn[i].Tag = i;
timeSlotbtn[i].TitleLabel.Font = UIFont.FromName("HelveticaNeue-bold", 14.0f);
xPos = timeSlotbtn[i].Frame.Location.X + buttonWidth + buttonSpace;
timeslotScrollView.AddSubview(timeSlotbtn[i]);
}
请注意,上面的代码是用Xamarin.iOS编写的。如果你知道解决方案,那么你可以用Objective-c编写。无论如何,逻辑应该是相同的。
答案 0 :(得分:0)
<?php
$id=$_REQUEST['id'];
$query="SELECT * FROM `category` ORDER BY name ASC" ;
$result=mysqli_query($con,$query);
while($row=mysqli_fetch_array($result)){
?>
<li><a href="list.php?id=<?php echo $row['id']; ?>" class ="<?=($id == $row['id']) ? 'active' : '' ?>"><?php echo $row['name']; ?></a></li>
<?php } ?>