我在我的应用程序中有一个浅色背景的UIBarButtonItems,我想用较暗的颜色而不是标准白色着色图标.
像这样:

我能够使用色调文本
[[UIBarButtonItem appearance] setTitleTextAttributes:@{UITextAttributeTextColor: [UIColor blackColor]} forState:UIControlStateNormal];,
Run Code Online (Sandbox Code Playgroud)
但我无法弄清楚如何更改图标颜色.
有可能吗?
EditText每当用户键入一个新角色时,我想编辑一个字段内容.基本上我想使用格式化电话号码libphonenumber.
我实现了一个TextWatcher读取字段内容并将其格式化为电话格式的内容.但每次我EditText使用格式化字符串设置文本时,再次调用观察者,再次设置文本,并且它会陷入此无限循环中.
将文本编辑为用户类型的最佳或正确方法是什么?
@Override
public void afterTextChanged(Editable editable) {
if (editable.length() > 1) {
try {
PhoneNumberUtil phoneUtil = PhoneNumberUtil.getInstance();
PhoneNumber numberProto = phoneUtil.parse(editable.toString(), "BR");
String formatted = phoneUtil.format(numberProto, PhoneNumberFormat.NATIONAL);
telephone.setText(formatted);
} catch (NumberParseException e) {
Log.d("Telefone", "NumberParseException was thrown: " + e.toString());
}
}
}
Run Code Online (Sandbox Code Playgroud) 我正在使用Android Studio开发Android应用程序,并运行了代码分析.在许多不同的代码片段中,分析表明了一些变量"Declaration can have final modifier".
事实上,所有这些变量只设置了一次并且它在构造函数中完成,并且从今天开始,如果我将它们声明为没有问题就没有问题final.
我想知道如果通过这样做,如果代码运行更有效,将会有任何性能改进.换句话说,为什么IDE会向我建议这种变化?
其次,final尽可能声明变量是一种好习惯吗?是否有可以宣布这样的情况,但我最好不要?
我在我的Phoenix应用程序中创建了一个控制器ProgressController.这是我的路由器文件的样子:
defmodule MyTestApp.Router do
use MyTestApp.Web, :router
pipeline :api do
plug :accepts, ["json"]
end
scope "/", MyTestApp do
pipe_through :api
get "/users/:user_id/courses/:course_id", ProgressController, :show
end
end
Run Code Online (Sandbox Code Playgroud)
当我运行mix phoenix.routes它输出:
progress_path GET /users/:user_id/courses/:course_id MyTestApp.ProgressController :show
Run Code Online (Sandbox Code Playgroud)
我有以下测试,它使用progress_path:
test "shows the user's progress in the given course", %{conn: conn} do
# prepare some stuff
conn = get conn, progress_path(conn, :show, %{user_id: 1, course_id: 7})
# assert some stuff
end
Run Code Online (Sandbox Code Playgroud)
progress_path是mix phoenix.routes给我的同名,我很惊讶在运行我的测试时看到这个错误信息:
编译11个文件(.ex)
** (CompileError) test/controllers/progress_controller_test.exs:12: …Run Code Online (Sandbox Code Playgroud) 我正在创建一个iOS 7应用程序,我希望在NavigationBar下面有一个SearchBar,我希望它们看起来像一个单件.因此,我需要使用相同的颜色(已经完成)对它们进行着色并删除NavigationBar底部和SearchBar顶部的发际线.我怎样才能做到这一点?
我有一个宽度有限的标签,我需要它来自动调整文本的字体大小以适应.由于我需要加下划线的文本,我为此标签分配了一个属性字符串:
[_commentsLabel setAttributedText:[[NSAttributedString alloc] initWithString:[NSString stringWithFormat:@"%d comments", [comments count]] attributes:@{NSUnderlineStyleAttributeName : @(NSUnderlineStyleSingle)}]];
Run Code Online (Sandbox Code Playgroud)
如您所见,注释的数量将定义文本的长度.但出于某种原因,文本并没有缩小.最小字体比例设置为0.1并选中Tighten Letter Spacing.
我认为它可能与我正在使用的自定义字体有关,但即使使用系统默认字体,文本也会被剪裁.
我在开发中使用了azk(这是一个Ruby on Rails项目),而azk设置了一个名为MySQL的数据库#{manifest.dir}_development(manifest.dir作为项目所在的目录名).
问题是,当我尝试运行RSpec测试时,它将访问相同的开发DB,而不是测试数据库.
我和我的同事在过去的几个小时里一直在努力弄清楚如何设置测试数据库.我们应该怎么做?
如何将动画gif文件添加为UIButton的默认图像.我已经添加了gif文件作为按钮图像.但它不是动画.
谢谢.
我需要使用以下规则验证密码:
以下表达式匹配除最后一个要求之外的所有要 我能用最后一个做什么?
((?=.*\d)(?=.*[A-z]).{6,20})
我有一个包com.myapp.api,其中包括几个辅助类和许多模型类.为了组织起见,我希望我可以将所有模型放在一个名为的子文件夹中Models.
当我这样做时,Android Studio会在每个模型文件上标记一个错误,并说它们的包应该被命名com.myapp.api.Models.
重命名包不是什么大问题,但我需要这些模型来访问辅助类中存在的一些包可见方法和变量.如果我重命名,我必须公开这些方法和变量,我不想这样做.
有没有办法强迫Android Studio不尝试根据文件结构创建新包?
ios ×3
android ×2
azk ×1
cocoa ×1
final ×1
formatting ×1
ios7 ×1
iphone ×1
java ×1
mysql ×1
objective-c ×1
passwords ×1
regex ×1
routes ×1
rspec ×1
shrink ×1
textwatcher ×1
uilabel ×1
uisearchbar ×1