我正在尝试在blue UIView
设置掩码,我必须为frame
设置掩码,但问题blue UIView
正在使用auto layout
。
如何x, y, width, height
UIView
auto layout
[self.v.layer.mask setFrame:CGRectMake(?, ?, ?, ?)];
使用frame
来使用此self.v.frame.size.width;
。
在使用auto layout
时使用UIView x, y, width, height
属性auto layout
是否正确?或者是否有任何其他方法来获取使用String _description = “Some text with rft tags like \\ine , \b, \b01 etc.”;
RichTxtDescription.Rft = @"{\rtf1\ansi " + _Description + "\\line \\line Query: \\line .}";
的{{1}}。
请参阅下面的屏幕截图。
答案 0 :(得分:0)
使用自动布局系统时,您不会获得/设置正确的帧。如果你真的想这样做。您可以使用以下方法
self.myViewWidthConstraint.constant += 20;
[self.myView updateConstraints];
建议您通过更新约束来使用约束来更新视图的大小/位置。
例如:让您查看约束和视图的IBOutlet,然后像这样更新
self.myViewWidthConstraint.constant;
要获得宽度,您应该使用
<?php
function executeQuery($dbConnection, $Query) {
$result = $dbConnection -> query($Query);
return $result;
}
function openDB() {
$dbConnection= new mysqli($mServer, $mUser, $mPwd, $mDatabase);
return $dbConnection;
}
// open Database
$DBconnection=openDB();
// 1st query
$query="SELECT *
FROM `character` c
WHERE c.id_new IN(
SELECT c.id_new
FROM `character` c
GROUP BY id_new
HAVING COUNT(id_new) > 1
)
ORDER BY id_new ASC;";
// sent query to database
$result=executeQuery($DBconnection, $query);
$numRows=$result->num_rows;
// do as long as you've got rows
for(;$numRows>0;$numRows--) {
// go to next row
$currentRow=$result->fetch_object();
$id_new=$currentRow->id;
$query="UPDATE `character` c
SET c.class=" .$id_new ."
WHERE c.id IN(" .$id_new .");";
echo $query ."\n";
$result2=executeQuery($DBconnection, $query);
}
}
?>
答案 1 :(得分:-1)
当人们谈论不使用具有自动布局的帧时,他们的意思是“不要设置由自动布局处理的帧”,因为自动布局将处理正确设置帧。读取帧的值不是问题。
但请注意,无论何时布局视图,都可以通过自动布局更改帧的值。因此,您可能需要将更新代码放在viewDidLayoutSubviews
中,例如:
- (void)viewDidLayoutSubviews
{
[super viewDidLayoutSubviews];
self.blueView.layer.mask.frame = self.blueView.bounds;
}
另请注意,如果您的遮罩层是根据其框架绘制的,则只需在其框架更改时重绘其内容。