我需要通过对象引用在其容器内找到元素索引.奇怪的是,我找不到一个简单的方法.没有jQuery请 - 只有DOM.
UL
LI
LI
LI - my index is 2
LI
Run Code Online (Sandbox Code Playgroud)
是的,我可以为每个元素分配ID并循环遍历所有节点以匹配ID,但这似乎是一个糟糕的解决方案.是不是有更好的东西?
所以,假设我有一个对象引用第三个LI,如上例所示.我怎么知道它是索引2?
谢谢.
我用我的视角旋转 CGAffineTransform
[view setTransform:newTransform];
Run Code Online (Sandbox Code Playgroud)
应用变换后帧值保持不变,但如何找到此帧的"旋转"或变换值?
http://www.informit.com/content/images/art_sadun_affine/elementLinks/sadun_fig02.png
我想要旋转帧边缘的精确坐标,即a,b,c,d点.
我只需循环遍历所有属性NSAttributedString并增加其字体大小.到目前为止,我已经达到了成功循环并操纵属性的程度,但我无法保存NSAttributedString.我评论出的这条线对我不起作用.怎么收回?
NSAttributedString *attrString = self.richTextEditor.attributedText;
[attrString enumerateAttributesInRange: NSMakeRange(0, attrString.string.length)
options:NSAttributedStringEnumerationReverse usingBlock:
^(NSDictionary *attributes, NSRange range, BOOL *stop) {
NSMutableDictionary *mutableAttributes = [NSMutableDictionary dictionaryWithDictionary:attributes];
UIFont *font = [mutableAttributes objectForKey:NSFontAttributeName];
UIFont *newFont = [UIFont fontWithName:font.fontName size:font.pointSize*2];
[mutableAttributes setObject:newFont forKey:NSFontAttributeName];
//Error: [self.richTextEditor.attributedText setAttributes:mutableAttributes range:range];
//no interfacce for setAttributes:range:
}];
Run Code Online (Sandbox Code Playgroud) 当我UIView使用transform属性(CGAffineTransformMakeRotation)旋转我时,我需要拖动它的一个角,比如说右下角,以调整它的大小.在此过程中,当用户拖动角落时,视图的角落必须跟随用户的手指,并通过增加2个边(右下角拖动的右下角)来调整框的大小.
UIView当不转换框时,可以使用框架和触摸位置来调整大小并不困难.例如,我会记住UIPanGestureRecognizer handler在StateBegan上附加到此可调整大小视图的初始帧和触摸,并且在StateChanged上,我将计算触摸点X,Y与初始触摸的差异,并将这些值添加到初始帧宽度和高度.
但是,UIView当应用变换时,帧对于旋转是可靠的.因此,我只能依靠bounds和center.我创建了这个代码,但它几乎可以工作:我只能在所有4个方向上按比例放大视图,而不是一个.
- (void)handleResizeGesture:(UIPanGestureRecognizer *)recognizer {
CGPoint touchLocation = [recognizer locationInView:self.superview];
CGPoint center = self.center;
switch (recognizer.state) {
case UIGestureRecognizerStateBegan: {
deltaAngle = atan2f(touchLocation.y - center.y, touchLocation.x - center.x) - CGAffineTransformGetAngle(self.transform);
initialBounds = self.bounds;
initialDistance = CGPointGetDistance(center, touchLocation);
initialLocation = touchLocation;
if ([self.delegate respondsToSelector:@selector(stickerViewDidBeginRotating:)]) {
[self.delegate stickerViewDidBeginRotating:self];
}
break;
}
case UIGestureRecognizerStateChanged: {
CGFloat scale = CGPointGetDistance(center, touchLocation)/initialDistance;
CGFloat minimumScale = …Run Code Online (Sandbox Code Playgroud) 从Home视图 - 我的RootViewController - 当用户在导航层次结构中进行时,我一个接一个地打开2个ViewControllers,如下所示:
1)通过我的Storyboard中连接的按钮推送SecondViewController
2)ThirdViewController以模态呈现
[self performSegueWithIdentifier:@"NextViewController" sender:nil];
Run Code Online (Sandbox Code Playgroud)
所以,图片是:RootViewController - > SecondViewController - > ThirdViewController
现在在我的ThirdViewController中,我希望有一个按钮可以返回2次到我的RootViewController,即回家.但这不起作用:
[self.navigationController popToRootViewControllerAnimated:YES];
Run Code Online (Sandbox Code Playgroud)
只有这个人回到SecondViewController一次
[self.navigationController popViewControllerAnimated:YES];
Run Code Online (Sandbox Code Playgroud)
如何同时删除模态和推送视图控制器?
objective-c storyboard uiviewcontroller uinavigationcontroller ios
我知道OrbitControls.js有一个阻尼功能,它可以平滑地拖动全景,也称为缓动.我想实现相同的功能,但不使用此库.原因是我需要减少使用的代码量并更严格地控制鼠标或点击事件.
我已经构建了这个Plunker来显示我用作全景视图的初始项目的演示.
https://plnkr.co/edit/eX2dwgbrfNoX9RwWaPaH?p=preview
在此演示中,鼠标坐标将转换为纬度/经度,这将调整摄像机位置.这是来自three.js网站的最基本,最小的全景示例.
当我玩弄阻尼时OrbitControls.js(见这一行)我无法得到相同的平滑行为 - 互动导致全景跳跃:
if ( scope.enableDamping === true ) {
sphericalDelta.theta *= ( 1 - scope.dampingFactor );
sphericalDelta.phi *= ( 1 - scope.dampingFactor );
panOffset.multiplyScalar( 1 - scope.dampingFactor );
}
Run Code Online (Sandbox Code Playgroud)
我不相信我可以完全理解如何将它应用于我在Plunker中的示例.
任何人都可以指导我从正确的方向申请damping我从Plunker的例子吗?
更新:
我设法通过为经度和纬度添加新的delta值来进步:查看latDelta和lonDelta 更新的Plunker.我知道它是如何工作的OrbitControls.js.您现在可以在初始页面加载时观察到理想的平滑滚动,因为lonDelta = 0.35.但是,我不确定在用户鼠标滚动期间如何操作它.至少我正朝着正确的方向前进.
我尝试使用此方法从UIWebView捕获图像,但图像仅包含屏幕的可见区域.如何捕获包含不可见区域的UIWebView的完整内容,即将整个网页合并为一个单独的图像?
-(UIImage*)captureScreen:(UIView*) viewToCapture{
UIGraphicsBeginImageContext(viewToCapture.bounds.size);
[viewToCapture.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return viewImage;
}
Run Code Online (Sandbox Code Playgroud) 我根据本教程实现了应用内购买.我遇到的问题是,我无法检测到"确认您的应用程序内购买"警报时按下取消按钮,这是StoreKit框架的一部分.
一些来源建议-(void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions在按下取消时调用,但在我的情况下它永远不会运行.我的设置是ViewController,它导入符合SKProductRequestDelegate和SKPaymentTransactionObserver的IAPManager:NSObject类.产品成功被请求,但事务观察者从不打电话paymentQueue.
如何让它工作,以便我可以检测取消按钮?
我试图从一个全景立方体图像平滑过渡到另一个全景立方体图像,以实现房间内的漫游效果.我将这个样本用作Scene,Camera,Mesh SkyBox所有设置的启动器.现在我正在考虑过渡到一个新的全景立方体的最佳方法,这样一个立方体图像可以放大并融入另一个立体图像,就像用户走进房间一样.
我想到了第二个场景和第二个相机,因为旧图像需要放大和淡出,而新图像放大和淡入以实现非常平滑的过渡.我在这里遇到了一些挑战,同时显示了2张图像.旧的一个 - sceneA - 在SceneB出现时不可见,并用以下内容覆盖:
renderer.clear();//multi-scene
if(sceneA && cameraA)
renderer.render( sceneA, cameraA );
renderer.clearDepth();
renderer.render( sceneB, cameraB );
Run Code Online (Sandbox Code Playgroud)
但即使是固定的,如果这是一个正确的方法,我会再考虑一下.我想尝试纹理转换,也许.我无法找到示例或了解如何做到这一点.
如何使用场景或纹理的不同来源从一个可见的立方体图像(纹理)平滑过渡到另一个?
我的iOS应用程序需要使用Instagram API加载一些图像,基于地理位置的用户反馈.我请求Instagram团队的public_content权限,但下面有解释被拒绝,即使我填写了尽可能多的信息.注意我的应用程序仅在开发中,网站看起来非常小,但提交了一些设计和大量描述以供审核.
如何解决获取这些基本权限的问题?我用谷歌搜索,我注意到这是一个常见的问题.
一般问题:无效的使用案例:您的提交备注,截屏视频和网站中描述的用例不是我们在平台上允许的有效用例.有关详细信息,请参阅我们的权限审核和有效用例说明(https://www.instagram.com/developer/review/).
public_content:此权限(public_content)不支持您在提交备注,截屏视频和网站中描述的用例.请查看登录权限(http://instagram.com/developer/authorization/)以获取权限和有效用例的完整列表.
objective-c ×6
ios ×4
iphone ×4
javascript ×3
three.js ×2
xcode ×2
3d ×1
dom ×1
easing ×1
html ×1
instagram ×1
parent-child ×1
storekit ×1
storyboard ×1
uiview ×1
uiwebview ×1