我有UITableView
有约束。当我尝试检索UITableView
的约束时,它返回0个元素。有帮助吗?
self.tableView.constraints
答案 0 :(得分:1)
您需要获取表视图超级视图约束并将表视图检查为第一项或第二项。
for constraint in (self.tableView.superview?.constraints)! {
if constraint.firstItem as! NSObject == self.tableView ||
constraint.secondItem as! NSObject == self.tableView {
// table view constraints
}
}
答案 1 :(得分:1)
以编程方式检索约束并不是一个好主意。
您可以使用constraintsAffectingLayout(for:)获取影响视图的所有约束,但是,您可能会获得比预期更多的约束。
最佳解决方案是在添加时限制对给定约束的引用。如果您使用的是故事板或xib,请为它们创建 protected void lblForPass_Click(object sender, EventArgs e)
{
SmtpClient client = new SmtpClient();
client.DeliveryMethod = SmtpDeliveryMethod.Network;
client.EnableSsl = true;
client.Host = "smtp.gmail.com";
client.UseDefaultCredentials = false;
client.Port = 25;
client.Timeout = 300000;
System.Net.NetworkCredential credentials = new System.Net.NetworkCredential("mytestmail@gmail.com", "1122334455");
client.Credentials = credentials;
MailMessage msg = new MailMessage();
msg.From = new MailAddress("mytestmail@gmail.com");
msg.To.Add(new MailAddress("mytestmail2@gmail.com"));
msg.Subject = "Subject Test";
msg.IsBodyHtml = true;
msg.Body = string.Format("<html><head></head><body><b>Body Test</b></body>");
try
{
client.Send(msg);
ScriptManager.RegisterClientScriptBlock(this, GetType(), "Mail Status", "alert('Sended Successfuly')", true);
}
catch(Exception ex)
{
Exception ex2 = ex;
string errorMessage = string.Empty;
while (ex2 != null)
{
errorMessage += ex2.ToString();
ex2 = ex2.InnerException;
}
string err = ex.Message;
ScriptManager.RegisterClientScriptBlock(this, GetType(), "Mail Error", "alert('" +err+"')", true);
}
}
。
答案 2 :(得分:0)
取决于应用约束的位置。
如果UITableView
中有UIViewController
并添加约束,那么约束将应用于UIViewController
而不是UITableView
请改用此代码:
self.tableView.superview?.constraints