小编akd*_*uza的帖子

以编程方式获取UIKeyboard背景颜色

有没有办法获得UIKeyboard背景颜色?我正在将配件视图放在我的上方,UIKeyboard并尝试将其颜色与键盘背景颜色相匹配.但是,似乎不同类型的键盘具有不同的背景颜色.请参阅以下屏幕截图,了解默认和电子邮件键盘.

有什么办法,我们可以通过编程方式找出键盘的背景颜色,以便accessoryView可以改变颜色.

UIKeyboardTypeEmailAddress

UIKeyboardTypeDefault

iphone cocoa-touch objective-c uikeyboard ios

7
推荐指数
2
解决办法
6092
查看次数

如何使用Firebase身份验证首次检查用户是否正在登录

我正在使用Firebase数据库和Firebase身份验证,允许用户使用电子邮件/密码或Google登录进行登录.在登录活动中,我正在尝试检查用户是否登录Google,是第一次执行此操作还是不执行此操作.

如果这是他第一次签名,则会出现一个对话框并请求用户的年龄和性别; 如果不是,则不应出现对话框.

我遇到的问题是,如果用户使用Google登录,则始终会显示对话框,无论是否是第一次.

这是我的代码,我试图检查用户是否第一次登录:

   protected void updateActivity(FirebaseUser user) {
    Log.d(TAG ,"updateActivity(FirebaseUser) - Ini");

    final boolean[] exist = {false};

    if(user != null) {
        ArrayList<String> providers = (ArrayList<String>) user.getProviders();
       if(!providers.isEmpty() && providers.get(0).equals("google.com")) {
           username = user.getEmail().substring(0,user.getEmail().indexOf('@'));
           String userId = user.getUid();

           Query query = mRef.orderByChild("userName").equalTo(username);

           query.addValueEventListener(new ValueEventListener() {
               @Override
               public void onDataChange(DataSnapshot dataSnapshot) {
                   for(DataSnapshot userSnapShot :  dataSnapshot.getChildren()){

                       if (!userSnapShot.getKey().equals(null) && !userSnapShot.getKey().isEmpty()) {
                           exist[0] = true;
                           Intent i  =  new Intent(LoginActivity.this, HomeActivity.class);
                           startActivity(i);
                           finish();

                       }
                   }
               }

               @Override
               public void onCancelled(DatabaseError databaseError) …
Run Code Online (Sandbox Code Playgroud)

android firebase-authentication firebase-realtime-database

6
推荐指数
0
解决办法
927
查看次数

如何将CallKit API与iOS 10的Objective C集成?

我在iOS上有一个VoIP应用程序.现在,我想将CallKitFramework 集成到此应用程序中,但我现有的代码是用Objective-C语言编写的.我搜索过几个论坛,但所有论坛都是用Swift语言编写的.

谁能告诉我如何Objective-C为CallKitapi集成编写代码?

谢谢.

iphone xcode voip objective-c ios10

6
推荐指数
1
解决办法
2412
查看次数

添加/重新加载地图视图注释而不阻塞主线程

我可以在第一次完美地加载带有注释的地图视图。但是,如果我尝试通过单击按钮重新加载地图(在它已经加载之后),用户必须等到该过程完成。出现此问题是因为在重新加载时,新的注释不会出现,直到 mapview 显着移动,即viewForAnnotation触发时。我已经看到了另外两个与我的问题类似的问题,其解决方案涉及“ performSelectorInBackground ”和“ performSelectorOnMainThread ”'。前者对我不起作用:(&后者我不想做(尽管它是唯一有效的选项),因为我希望用户能够在加载注释时与地图交互而不阻塞主线程。我我知道这样的动画最好在主线程上完成,所以问题 1. 除了让用户等待地图重新加载之外,还有没有其他方法可以做到这一点? 2. 关于最佳方法的建议?提前致谢。

iphone annotations asynchronous reload mkmapview

5
推荐指数
1
解决办法
2991
查看次数

代码不在窗口层次结构根视图中

我正在尝试链接我的问题,UIViewController但我得到了最后的错误.

Attempt to present ViewController whose view is not in the window hierarchy
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
    NSString *title = [alertView buttonTitleAtIndex:buttonIndex];

    if([title isEqualToString:@"Wokay"])
    {
        UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
        UIViewController *vc = [storyboard instantiateViewControllerWithIdentifier:@"Vibes"];
        [self.window.rootViewController presentViewController:vc animated:YES completion:nil];

    }
}
Run Code Online (Sandbox Code Playgroud)

代码错误:

Warning: Attempt to present <ViewController: 0x110634bc0> on <Login: 0x10951e7f0> whose view is not in the window hierarchy!
Run Code Online (Sandbox Code Playgroud)

iphone xcode objective-c ios ios7

5
推荐指数
1
解决办法
634
查看次数

InfoWindow 中的 Android 谷歌地图片段自动更新

我在我的应用程序中使用谷歌地图,几乎没有标记。每隔几秒钟我就会从 API 标记位置加载。每个标记都设置了标题和片段。在代码片段中,我想显示加载数据的时间。

问题是,当用户单击其中一个标记并且InfoWindow标题和代码段可见时,然后我更改了代码段和内容,但可见InfoWindow内容未更改 - 用户必须单击地图以隐藏InfoWindow并再次单击标记 - 那么内容是正确的。

InfoWindow标题或片段更改后是否可以刷新内容?

android google-maps

5
推荐指数
1
解决办法
2507
查看次数

如何在Google Cast发送者应用中启用hls文件上的字幕

是否可以从Google Cast发送者应用启用字幕?我Google Cast在我的应用程序中实现了hls流媒体在Chrome Cast上正常运行.hls文件中包含字幕轨道,但字幕未显示.没有.vtt可用于视频的文件,因此我无法实现MediaTrack将字幕URL发送到接收器应用程序.我想知道是否有可能hls从发送者应用程序启用流媒体字幕或我是否需要为此制作自定义接收器应用程序?

我正在创建MediaInfo以下列方式发送到接收器应用程序的对象(标准)

private MediaInfo buildMediaInfo() {
        MediaMetadata movieMetadata = new MediaMetadata(MediaMetadata.MEDIA_TYPE_MOVIE);

    movieMetadata.putString(MediaMetadata.KEY_TITLE, mTitle + " (" + mProdYear + ")");
    movieMetadata.putString(MediaMetadata.KEY_SUBTITLE, mFilmType);
    movieMetadata.addImage(new WebImage(Uri.parse(mImageUrl)));

    return new MediaInfo.Builder(mVideoUrl.toString())
            .setStreamType(MediaInfo.STREAM_TYPE_BUFFERED)
            .setContentType("videos/mp4")
            .setMetadata(movieMetadata)
            //enable subtitles on hls streaming??
            .build();
}
Run Code Online (Sandbox Code Playgroud)

android http-live-streaming google-cast chromecast

5
推荐指数
1
解决办法
459
查看次数

Android Studio 2.2约束布局按钮不可见

最近我正在阅读约束布局的教程(Android Studio 2.2中的新内容).在教程中,他们在栏上有用于约束布局的按钮,但我的Android Studio中没有按钮.见下图:

在此输入图像描述

android android-studio android-studio-2.2 android-constraintlayout

5
推荐指数
1
解决办法
1万
查看次数

应用过滤器时GPUImageMovie暂停

我正在使用Brad Larson的伟大库GPUImage来处理我的应用程序.目前我遇到了一个问题.我的应用程序捕获10秒视频,之后允许filter应用.在申请filters时GPUImageMovie,我无法暂停播放并应用新filter视频,以便视频可以连续播放而无需从头开始播放.

我在这里看到了一个开放的github问题.如果有人遇到类似问题并找到解决方案,请发布您的答案.提前致谢.

video ios gpuimage

4
推荐指数
1
解决办法
2448
查看次数

如何在Realm中的查询中设置LIMIT?

我已经完成了查询限制的研发而没有成功.有一种方法可以Realm使用子列表对数据进行分页,但是没有成功.它显示重复值.

这是我尝试分页的原因.

 RealmResults<Person> mPersonData=RealmUtils.getAllPersonWithTagsDescending(); 
    if (mPersonData != null) { 
    int startPos=getAllPerson.size()-1; 
    int endPos=mPersonData.size()-1; 
    List<Person> newPersonData=mPersonData.subList(startPos,endPos);   
    getAllPerson.addAll(newPersonData); 
    mAdapter.notifyDataSetChanged(); 
}
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

android realm realm-list

3
推荐指数
3
解决办法
1万
查看次数