我有导航栏和标签栏的视图.我想要发生的是隐藏某个视图上的标签栏,并在用户更改视图时再次显示标签栏.
我看到一段用于隐藏标签栏的代码:
-(void)makeTabBarHidden:(BOOL)hide
{
// Custom code to hide TabBar
if ( [tabBarController.view.subviews count] < 2 ) {
return;
}
UIView *contentView;
if ( [[tabBarController.view.subviews objectAtIndex:0] isKindOfClass:[UITabBar class]] ) {
contentView = [tabBarController.view.subviews objectAtIndex:1];
} else {
contentView = [tabBarController.view.subviews objectAtIndex:0];
}
if (hide) {
contentView.frame = tabBarController.view.bounds;
}
else {
contentView.frame = CGRectMake(tabBarController.view.bounds.origin.x,
tabBarController.view.bounds.origin.y,
tabBarController.view.bounds.size.width,
tabBarController.view.bounds.size.height - tabBarController.tabBar.frame.size.height);
}
tabBarController.tabBar.hidden = hide;
}
Run Code Online (Sandbox Code Playgroud)
来自:http://nickwaynik.com/iphone/hide-tabbar-in-an-ios-app/
我在视图中调用它,我希望隐藏标签栏
[self makeTabBarHidden:YES];
Run Code Online (Sandbox Code Playgroud)
当我在该视图上显示/隐藏它时,它工作正常但当我导航回到上一个视图时,那里的标签栏也是隐藏的.我试着打电话给在视图中的该功能viewDidUnload,viewWillDisappear,viewDidDisappear功能,但没有任何反应.当函数被调用在前面视图的情况也是如此viewDidLoad, …
我正在尝试将我的代码重构为ES6.我正在使用角度流星和ng-table.在重构之前,数据显示在表格中.但是,在重构为ES6语法后,数据不再显示.这是重构代码的片段:
class MyController {
constructor($scope, $reactive, NgTableParams, MyService) {
'ngInject';
$reactive(this).attach($scope);
this.subscribe('myCollection');
this.myService = MyService;
this.helpers({
items() {
return this.myService.getItems();
},
itemTableParams() {
const data = this.getReactively('items');
return new NgTableParams({
page: 1,
count: 10
}, {
total: data.length,
getData: (params) => {
// not called
}
});
}
});
}
}
class MyService {
getItems() {
return MyCollection.find({}, {
sort: {
dateCreated: -1
}
});
}
}
export default angular.module('MyModule', [angularMeteor, ngTable, MyService])
.component('MyComponent', {
myTemplate,
controllerAs: 'ctrl',
controller: MyController …Run Code Online (Sandbox Code Playgroud) 我们正在为我们的项目使用RazorGenerator.当我编辑视图时,生成的文件的命名空间将更改为ASP而不是RazorGenerator的默认值,这应该是文件夹结构.我们没有更改RazorGenerator的任何设置(甚至不确定是否有设置)所以我不确定发生了什么,因为这只发生在我的机器上.我已经卸载/安装了该工具,但同样的事情发生了.有人有解决方案吗?谢谢!
我正在开发一个带有登录页面和应用程序其余页面的应用程序(应登录查看).我正在使用 react-boilerplate.从这里example,我编辑了我的asyncInjectors.js文件redirectToLogin和redirectToDashboard方法:
//asyncInjectors.js
export function redirectToLogin(store) {
return (nextState, replaceState) => {
const isAuthenticated = store.getState().get('app').get('isAuthenticated');
if (!isAuthenticated) {
replaceState({
pathname: '/login',
state: {
nextPathname: nextState.location.pathname,
},
});
}
};
}
export function redirectToDashboard(store) {
return (nextState, replaceState) => {
const isAuthenticated = store.getState().get('app').get('isAuthenticated');
if (isAuthenticated) {
replaceState('/');
}
}
}
Run Code Online (Sandbox Code Playgroud)
然后,我只是设置redirectToLogin为onEnter页面和redirectToDashboard登录页面.
它工作正常但是当F5登录时页面刷新()时,登录页面会短暂呈现,然后呈现实际页面.登录页面只是调度一个authenticate动作componentWillMount,然后重定向componentDidUpdate:
//login.js
componentWillMount() {
this.props.dispatch(authenticate()); …Run Code Online (Sandbox Code Playgroud) 我有一个扩大的textarea.当textarea已经扩展到足以到达窗口的底部时,主体会闪烁/滚动回到textarea的顶部,除非滚动窗口,否则您无法看到键入的最后一个字符.
样本可以在这个jsfiddle中找到.我尝试在身体上添加一个scrollTo
window.scrollTo(0, document.getElementsByTagName('textarea')[0].getBoundingClientRect().bottom);
Run Code Online (Sandbox Code Playgroud)
如何从窗口计算光标在textarea中的偏移量?我想要获得光标的顶部偏移,如果光标已经超出折叠范围,只需将窗口滚动到其位置.
对此的帮助将不胜感激:)
我有一个简单的IFrame组件,我只是将src,height和onLoad传递给它.父母只在iframe下面有一些文字.加载iframe时,父级滚动显示页面底部.只有当模拟设备是iPhone(所有版本)时才会在Chrome中发生这种情况; 它适用于模拟的Android设备.我没有在实际设备中测试过,因为我没有iPhone.
这是IFrame组件:
export class IFrame extends Component {
static propTypes = {
src: PropTypes.string.isRequired,
onLoad: PropTypes.func,
};
constructor(props) {
super(props);
this.iframe = React.createRef();
}
handleOnLoad = () => {
const { onLoad } = this.props;
window.scrollTo(0, 0);
if (onLoad) {
onLoad();
}
}
render() {
return (<iframe
ref={this.iframe}
src={this.props.src}
onLoad={this.handleOnLoad}
/>);
}
}
Run Code Online (Sandbox Code Playgroud)
这就是它的用法.
class MyComponent extends Component {
static propTypes = {
iframeSrc: PropTypes.string.isRequired,
};
handleIframeLoad() {
// Do something. Or nothing.
}
render() {
return (
<Fragment> …Run Code Online (Sandbox Code Playgroud) 只是想知道如果两个代码块产生相同的结果,哪种方法会更好:
string from = ddFrom.SelectedItem.ToString(),
to = ddTo.SelectedItem.ToString();
switch(from)
{
case "celsius":
switch(to)
{
case "celsius":
break;
case "fahrenheit":
break;
case "kelvin":
break;
}
break;
case "fahrenheit":
switch(to)
{
case "celsius":
break;
case "fahrenheit":
break;
case "kelvin":
break;
}
break;
case "kelvin":
switch(to)
{
case "celsius":
break;
case "fahrenheit":
break;
case "kelvin":
break;
}
break;
}
或者这个:
string from = ddFrom.SelectedItem.ToString(),
to = ddTo.SelectedItem.ToString(),
conversion = from + to;
switch(conversion)
{
case "celsiusfahrenheit":
break;
case "celsiuskelvin":
break;
case "fahrenheitcelsius":
break; …Run Code Online (Sandbox Code Playgroud) 我有一个基类,其中属性具有ScriptIgnore属性:
public class Base
{
public int Id { get; set; }
[ScriptIgnore]
public virtual string Name { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我还有另一个继承自Base类的类:
public class Inherting : Base
{
public override string Name { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我尝试覆盖Name属性但它仍然没有被序列化.有没有办法覆盖ScriptIgnore属性(在inherting类中忽略它)?
我不是在谈论布尔属性,比如class在没有 CSS 类的情况下不想添加空类属性的属性。
html`<span class=${hasClass ? 'my-class' : ''}></span>`
Run Code Online (Sandbox Code Playgroud) 我有一个简单的检查清单,每个项目都有一个删除按钮。当我检查第一个项目然后删除它时,列表更新,删除该项目,但选中下一个项目的复选框。下一项的属性是正确的。
这是我的代码:
import { LitElement, html } from 'lit-element';
class CheckList extends LitElement {
static get properties() {
return {
items: { type: Array },
};
}
constructor() {
super();
this.items = [
{
id: 1,
text: 'Item 1',
isDone: false,
},
{
id: 2,
text: 'Item 2',
isDone: false,
},
];
this.toggleCheck = this.toggleCheck.bind(this);
this.deleteItem = this.deleteItem.bind(this);
}
render() {
return html`
<ul>
${this.items.map(item => html`
<li>
<input
type="checkbox"
value=${item.id}
?checked=${item.isDone}
@click=${this.toggleCheck}
>
${item.text}
<button @click=${this.deleteItem}>X</button>
</li>
`)}
</ul> …Run Code Online (Sandbox Code Playgroud) 我有一个控制器功能,可以创建一些东西 调用该函数时,setInterval运行以获取该项的状态.
这是服务:
(function () {
'use strict';
function myService($q) {
let deferred = $q.defer();
function createSomething(name) {
Meteor.call('createSomething', name, (err, res) {
if (err) {
deferred.reject(err);
} else {
//value returned is the created item (id, name, status)
deferred.resolve(res);
}
});
return deferred.promise;
}
function getStatus(id) {
Meteor.call('getStatus', id, (err, res) {
if (err) {
deferred.reject(err);
} else {
//statuses are queued, processing, created
deferred.resolve(res);
}
});
return deferred.promise;
}
return {
createSomething: createSomething,
getStatus: getStatus
} …Run Code Online (Sandbox Code Playgroud) javascript ×5
angularjs ×2
c# ×2
lit-element ×2
lit-html ×2
reactjs ×2
asp.net ×1
autoresize ×1
ecmascript-6 ×1
iframe ×1
ios ×1
iphone ×1
jquery ×1
meteor ×1
nested ×1
ngtable ×1
promise ×1
redux-saga ×1
scriptignore ×1
textarea ×1