故事板中有一个UILabel设置,允许设置自动缩小配置,如下所示:
但我无法为UIButton的textlabel找到相同的内容。 我知道我可以通过编程方式进行设置,但很想知道是否有办法在故事板中为UIButton启用此设置。
答案 0 :(得分:57)
您可以使用用户定义的运行时属性来使用故事板设置此标志。
设置以下关键路径:
//convert the credentials to a multi-byte string first
std::string MbLocalAdminUserName = MbString(localAdminUserName_.c_str());
std::string MbLocalAdminPassowrd = MbString(localAdminPassowrd_.c_str());
//convert this multi-byte format to wide char that windows is expecting
//username
int len_MbLocalAdminUserName = MultiByteToWideChar(CP_UTF8, 0, MbLocalAdminUserName.c_str() , -1, NULL, 0);
wchar_t* WcLocalAdminUserName = new wchar_t[len_MbLocalAdminUserName + 1];
MultiByteToWideChar(CP_UTF8, 0, MbLocalAdminUserName.c_str(), -1, WcLocalAdminUserName, len_MbLocalAdminUserName + 1);
//password
int len_MbLocalAdminPassowrd = MultiByteToWideChar(CP_UTF8, 0, MbLocalAdminPassowrd.c_str() , -1, NULL, 0);
wchar_t* WcLocalAdminPassowrd = new wchar_t[len_MbLocalAdminPassowrd + 1];
MultiByteToWideChar(CP_UTF8, 0, MbLocalAdminPassowrd.c_str(), -1, WcLocalAdminPassowrd, len_MbLocalAdminPassowrd + 1);
BOOL result = ::LogonUser(WcLocalAdminUserName, L".", WcLocalAdminPassowrd,
LOGON32_LOGON_NETWORK, LOGON32_PROVIDER_DEFAULT, &hToken);
delete[] WcLocalAdminUserName;
delete[] WcLocalAdminPassowrd;
答案 1 :(得分:18)
否,故事板中没有可用于设置Button的textlabel自动缩小的选项,
但您可以使用 adjustsFontSizeToFitWidth 以编程方式设置它 正如你所知道的那样。
yourbutton.titleLabel?.adjustsFontSizeToFitWidth = true;
答案 2 :(得分:5)
试试这个
btn.titleLabel.adjustsFontSizeToFitWidth = YES;
btn.titleLabel.minimumScaleFactor = 0.5; // set whatever factor you want to set
如果您想在故事板中设置,请尝试IBDesignable和IBInspectable
答案 3 :(得分:2)
Swift 4解决方案
{{1}}