小编MMi*_*lav的帖子

UITableView以iOS 7中的偏移量开始

我已将一个普通的简UITableView拖到iOS 7中的UIViewController上.

现在,在第一个单元格开始之前,存在垂直的空间偏移.我怎么摆脱它?我希望第一行更接近UITableView实际启动的顶部边缘.我没有要求大偏移吗?

在此输入图像描述

有任何想法吗?

uitableview ios7

114
推荐指数
9
解决办法
10万
查看次数

didMoveToParentViewController和willMoveToParentViewController

Apple文档UIViewController说:

如果要实现自己的容器视图控制器,则必须willMoveToParentViewController:在调用removeFromParentViewController方法之前调用子视图控制器的方法,并传入父值nil.

当您的自定义容器调用该addChildViewController:方法时,它会自动调用willMoveToParentViewController视图控制器的:方法作为子项添加,然后再添加它.

如果要实现自己的容器视图控制器,则必须didMoveToParentViewController:在转换到新控制器完成后调用子视图控制器的方法,或者如果没有转换,则在调用addChildViewController:方法后立即调用.

removeFromParentViewController方法didMoveToParentViewController:在删除子视图后自动调用子视图控制器的方法.

我为什么要调用这些方法?这些方法有什么作用?

ProfileViewController *profile = [[ProfileViewController alloc] init];
profile.view.frame = CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height);
[self addChildViewController:profile];
[self.view addSubview:profile.view];
[profile didMoveToParentViewController:self];
Run Code Online (Sandbox Code Playgroud)

即使我删除了最后一行,我的代码也能正常运行.有人可以帮我吗?

提前致谢

iphone objective-c uiviewcontroller ios

18
推荐指数
1
解决办法
9828
查看次数

如何在php中将对象克隆到子类

我有一个父类A和PHP中的子类B. 有没有办法将类A的实例克隆到B的实例,并在B实例中稍后使用B类属性?谢谢

php inheritance class

14
推荐指数
1
解决办法
4447
查看次数

如何通过Google Cloud Messaging向iOS发送静音推送

如何通过GCM向iOS应用程序发送静默推送通知?

无声推送是通知,不会出现在通知中心,而是唤醒应用程序在后台执行某些操作.Google在新GCM中引入了新功能,可以向Android,Chrome和iOS发送推送消息.

任何想法,怎么做?

push apple-push-notifications ios google-cloud-messaging

14
推荐指数
1
解决办法
3339
查看次数

UIViewController背景图片

如何设置UIViewController的背景图像?这样做的代码是什么?现在我有

self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"image.jpg"]];
Run Code Online (Sandbox Code Playgroud)

但我不想要一个模式.我希望它能正确填满屏幕.

iphone background-image uiviewcontroller

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

交互式关闭键盘时如何检测键盘框架的变化?

考虑一下这种情况,我在storyboard中以交互方式设置键盘Dismiss的textview,因此当用户向下滚动并能够以交互方式关闭键盘时.我对textview有限制,以确保它始终完全显示在视图上.

目前的问题是,当用户逐渐向下滚动以解除键盘时,我无法检测到键盘框架的变化.我试过UIKeyboardWillHideNotificationUIKeyboardWillChangeFrameNotification,键盘驳回后,他们只叫.

所以我的问题是,当交互式关闭键盘时,我们如何同时检测键盘框架的变化?

objective-c ios

10
推荐指数
2
解决办法
4769
查看次数

如何在Xcode或iTunes连接上获取Testflight外部测试人员的崩溃日志?

有没有办法知道某人的应用程序有什么问题.它正在研究其他人的设备,但这个人.

该人试图删除以前的版本并安装新版本,但它仍然无法正常工作.我怀疑我放在文档文件夹中的其中一个文件可能仍然存在...但此文件的格式自...以来已更改

crash-log ios testflight

9
推荐指数
1
解决办法
7105
查看次数

UIView动画块与CAAnimation

iOS动画专家!每种方法的优缺点是什么?我知道Apple推荐的是块而不是旧的UIView动画方法(UIView beginAnimations等等),但是呢CAAnimation?你什么时候使用一种方法而不是另一种?在性能方面有权衡吗?

objective-c caanimation uiviewanimation ios

8
推荐指数
1
解决办法
1766
查看次数

ReactJS + Flux - 如何实现toast/notifications?

我正在努力了解Flux和Reactjs.

考虑以下非常简单的场景:

你有一个输入很少的表格.当用户提交表单时,

ActionCreator.publishAnnouncement(this.state.announcement);
Run Code Online (Sandbox Code Playgroud)

在我的表单组件中调用.这是publishAnnouncement方法的样子:

var publishAnnouncement = function (announcement) {
  AnnouncementAPI.publishAnnouncement(
    announcement,
    successCallback,
    failureCallback
  )
};
Run Code Online (Sandbox Code Playgroud)

AnnouncementAPI只是一个AJAX http POST调用的包装器.这需要两次回调 - 成功和失败.

现在:我需要在屏幕上显示通知/吐司 - 表示成功或失败. 你会怎么用Flux的方式做到这一点?

我正在考虑创建Notification组件并在我的表单中呈现它.如下:

<Notification title={this.state.notification.title} message={this.state.notification.title} visible={this.state.notification.visibility}  // ?? onTimeExceeded ??     />
Run Code Online (Sandbox Code Playgroud)

但是我该如何处理这些回调呢?我应该创建监听ANNOUNCEMENT_PUBLISHING_SUCCEEDED和ANNOUNCEMENT_PUBLISHING_FAILED事件的NotificationStore吗?为了对这些事件做出反应,商店会发出CHANGE事件,从而更新我的通知.

但即使我这样做,我应该如何指示我的通知显示/隐藏?或者更糟糕的是,2秒后出现并隐藏?

我在GitHub上看到很少的组件,每个组件都使用refs等,我个人不喜欢.

总结一下: 你会如何实现这个?或许这样的项目存在?如果是这样,我在哪里可以找到它?

javascript flux reactjs reactjs-flux

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

最新更新后,播放Xamarin for iOS的视频已损坏

Xamarin for iOS的以下代码在Xamarin for iOS更新到v2.0.50727之前工作正常

这是Xamarin Forms应用程序中自定义渲染器中的代码

 class WatchVideoRenderer : PageRenderer
{
    MPMoviePlayerController moviePlayer;

    protected override void OnElementChanged(VisualElementChangedEventArgs e)
    {
        base.OnElementChanged(e);

        var url =  new NSUrl("http://192.168.12.4:8085/MediaUploads/1/211/520140731170618/DPM202.mp4");
        moviePlayer = new MPMoviePlayerController();
        moviePlayer.ContentUrl = url;
        moviePlayer.View.Frame = new CGRect((float)((NativeView.Bounds.Width - 600) / 2), (float)((NativeView.Bounds.Height - 450) / 2), 600, 400);

        MPMoviePlayerController.Notifications.ObserveLoadStateDidChange(OnLoadStateChanged);
        MPMoviePlayerController.Notifications.ObservePlaybackDidFinish(OnPlaybackComplete);

        View.AddSubview(moviePlayer.View);

        moviePlayer.PrepareToPlay();
        moviePlayer.ShouldAutoplay = true;
        moviePlayer.Play();
    }

    private void OnLoadStateChanged(object sender, NSNotificationEventArgs e)
    {
        if (moviePlayer.LoadState == MPMovieLoadState.Playable)
        {

        }
    }

    private void OnPlaybackComplete(object sender, MPMoviePlayerFinishedEventArgs e)
    {

    }
} …
Run Code Online (Sandbox Code Playgroud)

mpmovieplayercontroller ios xamarin xamarin.forms

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

为什么我的BaseAdapter类没有增加getView中的位置?

编辑:我的问题似乎BaseAdapter就是不会发布超过1个Spinner.如果我将数组的大小更改为0,它就不会放任何东西,但是超过1的任何东西都会截断它.它永远不会超过位置0 getView(),它永远不会超过1.我已经在它几个小时.是否有一个原因?

SpinnersListView使用a 动态添加时遇到问题BaseAdapter.我之前尝试过它作为测试,以确保它可以在测试类中正确完成,并且它正确地迭代位置.但是现在我再次这样做并且失败了.我的意思是失败不是getView()创造新的Spinner,它永远不会离开位置0.它仍然运行.永远不要添加更多Spinners.这是我的代码:

主适配器代码


public class RemindersAdapter extends BaseAdapter{
Spinner[] shownReminders = new Spinner[1];
TextView[] removeReminders = new TextView[1];
String[] reminders = new String[1]; //this hlds the values of the coresponding spinner

RemindersAdapter mAdapter;


@Override
public int getCount() {
    return shownReminders.length;
}

@Override
public Object getItem(int position) {
    return shownReminders[position];
}

@Override
public long getItemId(int position) {
    return position;
}

@Override
public View getView(int …
Run Code Online (Sandbox Code Playgroud)

android android-listview baseadapter

5
推荐指数
2
解决办法
8033
查看次数

警告1 TypeScript编译器没有给出编译文件,因此它将跳过编译

在Visual Studio Professional 2013中创建新的Apache Cordova项目时,请收到以下警告:

警告1 TypeScript编译器没有给出编译文件,因此它将跳过编译.

几个星期它工作正常,但现在我收到这个错误.

我重新安装VS和Tool for Apache Cordova,但仍然出现此错误.

如何解决这个错误?有解决方案吗

javascript cordova typescript visual-studio-2013 cordova-3

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